bash: 删除多个相同扩展名的文件

bash: removing many files of the same extension

我正在处理包含许多日志文件的文件夹。我必须使用 bash 删除所有这些。我使用 rm 的版本不起作用:

rm "${results}"/*.log 

这给了我:

./dolche_vita.sh: line 273: /usr/bin/rm: Argument list too long

这意味着该目录中有太多 .log 文件,rm 调用的参数列表太长了。 (*.log 被扩展为 file1.logfile2.logfile3.log、……在“真正的”rm 调用期间,并且有长度限制这个参数行。)

一个快速的解决方案可能是使用 find,像这样:

find ${results}/ -type f -name '.log' -delete

此处,find 命令将列出您的 ${results} 目录中的所有文件 (-type f),以 .log 结尾(因为 -name '.log')并删除它们,因为您发出 -delete 作为最后一个参数。