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.log
、file2.log
、file3.log
、……在“真正的”rm
调用期间,并且有长度限制这个参数行。)
一个快速的解决方案可能是使用 find
,像这样:
find ${results}/ -type f -name '.log' -delete
此处,find
命令将列出您的 ${results}
目录中的所有文件 (-type f
),以 .log
结尾(因为 -name '.log'
)并删除它们,因为您发出 -delete
作为最后一个参数。
我正在处理包含许多日志文件的文件夹。我必须使用 bash 删除所有这些。我使用 rm 的版本不起作用:
rm "${results}"/*.log
这给了我:
./dolche_vita.sh: line 273: /usr/bin/rm: Argument list too long
这意味着该目录中有太多 .log
文件,rm
调用的参数列表太长了。 (*.log
被扩展为 file1.log
、file2.log
、file3.log
、……在“真正的”rm
调用期间,并且有长度限制这个参数行。)
一个快速的解决方案可能是使用 find
,像这样:
find ${results}/ -type f -name '.log' -delete
此处,find
命令将列出您的 ${results}
目录中的所有文件 (-type f
),以 .log
结尾(因为 -name '.log'
)并删除它们,因为您发出 -delete
作为最后一个参数。