0..9.txt给定目录foo和中的文件bar,如何删除那些奇怪的文件?
我想出了
find . -regextype egrep -regex ".*[0-9].txt" | while read file; do [ `expr match "$file" '[0-9]'`% 2 -eq 0 ] && rm -v "$file" ; done
Run Code Online (Sandbox Code Playgroud)
但这不起作用。我不明白如何正确设置在完整文件名中查找数字并检查其奇偶校验。
find . -name '*[13579].txt' -delete
Run Code Online (Sandbox Code Playgroud)
如果您find不支持-delete,请使用:
find . -name '*[13579].txt' -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)
或者
find . -name '*[13579].txt' -exec rm {} +
Run Code Online (Sandbox Code Playgroud)