在Linux文件系统上查找非UTF8文件名

4 regex linux grep find

O/S = Fedora Code 9.

我的LANG = en_US:UTF-8文件系统中隐藏了许多文件,这些文件已在文件名中上传了无法识别的字符.

我需要搜索文件系统并返回至少有一个不在标准范围内的字符的所有文件名(a-zA-Z0-9和.-_等)

我一直在努力追随但没有运气.

find . | egrep [^a-zA-Z0-9_\.\/\-\s]
Run Code Online (Sandbox Code Playgroud)

欢迎提出所有建议.

干杯,

AP.

Joa*_*uer 13

convmv你可能会感兴趣 它不仅可以找到这些文件,还支持将它们重命名为正确的文件名(如果它可以猜出出了什么问题).


Fed*_*TIK 9

find . | perl -ane '{ if(m/[[:^ascii:]]/) { print } }'
Run Code Online (Sandbox Code Playgroud)

  • 如果某些东西不是ascii,那么它就不是utf。 (4认同)