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

Nou*_*ess 0 linux bash

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)

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

Wil*_*ell 7

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)