Я ищу сценарий или программное обеспечение, которое может проверить все файлы на Mac и сообщить о запрещенных / запрещенных символах, например, \ /: *? "& lt; & gt; |, с которой Windows не может работать.
Есть идеи?
Я ищу сценарий или программное обеспечение, которое может проверить все файлы на Mac и сообщить о запрещенных / запрещенных символах, например, \ /: *? "& lt; & gt; |, с которой Windows не может работать.
Есть идеи?
Ответы:
Для поиска имен файлов с проблемными символами вы можете использовать find:
$ find / -regex ".*[<>/:*?|].*" -print
Поместите все символы, которые вы хотите найти, в квадратные скобки. Обратите внимание, что некоторые символы должны быть экранированы, потому что они имеют особое значение (например, 0-9 найдут все цифры, а не 0, - и 9). По сути, в двойных кавычках вы указываете регулярное выражение, имена файлов которого должны соответствовать, чтобы быть напечатанными.
Вы можете создать файл, содержащий список всех файлов, например:
$ find / -regex ".*[<>/:*?|].*" -print > problematic-files.txt
Если вы используете -name
вместо -regex
, затем вы можете указать базовый шаблон оболочки (где * обозначает любое количество символов,? - один и [...] выбор символов). Это менее гибко, но, вероятно, достаточно для ваших целей:
$ find / -name "*[<>/:*?|]*" -print > problematic-files.txt
(Я не уверен, что Mac OS имеет ту же функциональность поиска, что и GNU find, которую я использую. Используйте «man find», чтобы получить руководство и выяснить, как использовать с ним регулярные выражения или шаблоны оболочки).
/
будет соответствовать пути, как /some/path/goodname.txt
... В противном случае, это хорошо работает на Mac.