-1

有没有办法可以find使用非 ascii 字符进行归档?我当然可以使用管道 - 并使用 perl 过滤文件,但为了提高效率,我想将其全部设置为find. 我尝试了以下方法:

find . -type f -name '*[^[:ascii:]]*'

它根本不起作用。

编辑

我现在正在尝试利用

find . -type f -regex '.*[^[:ascii:]].*'

它是一个 emacs 正则表达式,它有[:ascii:]类。但是我尝试使用的表达式不起作用。

编辑 2

LC_COLLATE=C find . -type f -regex '.*[^!-~].*'

匹配具有非 ascii 字符的文件(一个完整的巫术......)。但也匹配名称中带有空格的文件。

4

1 回答 1

4

这似乎在默认模式和 posix 扩展模式下都适用于我:

LC_COLLATE=C find . -regex '.*[^ -~].*'

不过,可能存在与语言环境相关的问题,而且我没有大量的非 ascii 文件名来测试它,但它可以捕捉到我拥有的那些。

于 2012-05-29T20:56:52.647 回答