我需要通过 Putty 或其他命令来查找服务器中未以罗马字母命名的任何文件。因此,该命令的结果为我提供了与此匹配的文件的路径。
我网站的服务器使用 Ubuntu Linux 12.04.1。
我想在这个路径(/var/www/)和它的所有子文件夹中搜索。
这应该可以在您的文件和目录中找到/var/www
包含大写/小写 A 到 Z 以外的字符的文件和目录:
find /var/www -iregex '^[.]*[/A-Za-z]*$' -o -print
省略-o
以查看它匹配的内容。前导[.]*
让您使用find . -iregexp
... 而无需更改正则表达式;你可以把它放在/var/www
箱子里。
[A-Za-z]
如果您指的是没有 J、U 或 W 的古典罗马,您可能需要调整。
我仍然喜欢我错误的第一个解释,我认为您正在寻找未以罗马数字命名的文件,其解决方案如下:
find /var/www -iregex '^[.]*\(/\|/m*c?d?x?c*x?l?i*x?i?v?i*\)*$' -o -print
(在“[.]”上的注释与前面的示例相同)
如果您真的在寻找包含非 ASCII 字符的文件名:
find /var/www -iregex '^[ -~]+$' -o -print
那个不需要前面的“[.]”,因为“。” 无论如何都是范围的一部分。
或非 ISO-8859-1(包括一些非拉丁语,但没有亚洲语、印地语等):
find /var/www -iregex '^[ -ÿ]+$' -o -print # note the dieresis over the "y"