0

我需要通过 Putty 或其他命令来查找服务器中未以罗马字母命名的任何文件。因此,该命令的结果为我提供了与此匹配的文件的路径。

我网站的服务器使用 Ubuntu Linux 12.04.1。

我想在这个路径(/var/www/)和它的所有子文件夹中搜索。

4

1 回答 1

0

这应该可以在您的文件和目录中找到/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"
于 2013-08-19T04:01:33.573 回答