![](/img/trans.png)
[英]How can I search for files in directories that contain spaces in names, using “find”?
[英]How can I delete files with odd names from directories?
给定目录foo
和bar
文件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.