繁体   English   中英

如何从目录中删除名称奇怪的文件?

[英]How can I delete files with odd names from directories?

给定目录foobar文件0..9.txt ,如何删除那些奇怪的文件?

我想出了

find . -regextype egrep -regex ".*[0-9].txt"  | while read file; do    [ `expr match "$file" '[0-9]'`% 2 -eq 0 ] && rm -v "$file" ; done

但它不起作用。 我不明白如何正确设置在完整文件名中查找数字并检查其奇偶校验。

find . -name '*[13579].txt' -delete

如果您的find不支持-delete ,请使用:

find . -name '*[13579].txt' -exec rm {} \;

或者

find . -name '*[13579].txt' -exec rm {} +
find . -regextype egrep -regex ".*[0-9].txt" | while read file; do \ n=$(basename $file .txt); \ if [[ $((n % 2)) == 1 ]]; then \ rm -v $file; \ fi; \ done

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM