有时,我的脚本会陷入无限循环。当循环创建新文件时,事情会变得混乱。
我目前有这个文件名格式:
Task.4883.store.log
哪里4883
有柜台。
我需要删除除前 10 个文件之外的所有文件(即 0-9 中的计数器(含))。目前,在我可以做出反应并停止脚本之前,已经创建了大约 10k 个文件。 SSD 的速度确实很快。
rm
如果不接受那么多的论点, 事情就会变得有点困难:-bash: /bin/rm: Argument list too long
哦,我现在用的是 Mac。
答案1
POSIX 可以处理文件名中包含换行符的文件:
find . -name 'Task.??*.store.log' -exec rm -f {} +
答案2
find . -name 'Task.??*.store.log' | xargs rm -f
答案3
和zsh
:
rm Task.<10->.store.log
为了避免参数列表太长:
autoload zargs # best in ~/.zshrc
zargs Task.<10->.store.log -- rm