我需要通过Putty或其他命令来查找我的服务器中没有以罗马字母命名的任何文件。所以命令的结果给出了与之匹配的文件的路径。
我的网站服务器使用Ubuntu Linux 12.04.1。
我想在这条路径(/ var / www /)及其所有子文件夹中搜索。
答案 0 :(得分:0)
这应该可以用来查找/var/www
中包含大写/小写A到Z以外字符的文件和目录:
find /var/www -iregex '^[.]*[/A-Za-z]*$' -o -print
忽略-o
以查看 匹配的内容。
前导[.]*
允许您使用find . -iregexp
...而无需更改正则表达式;你可以删除/var/www
案例。
如果您指的是没有J,U或W的古典罗马,您可能需要调整[A-Za-z]
。
我仍然喜欢我错误的第一种解释,我认为你在寻找那些没有用罗马数字命名的文件,它们有一个解决方案:
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"