Вариации этого вопроса почти всегда описывают утомительный процесс "Get Info" для проверки или снятия отметки "скрыть расширение" ИЛИ для использования подхода "молотка" с помощью Finder -> Preferences -> Advanced -> Show all file расширения. Я нашел способ работать с пакетами файлов одновременно, используя Terminal.app с одной командной строкой.

Вам нужна утилита разработчика под названием SetFile. Если у вас это есть в /Developer /Tools, то сделайте его псевдоним (ln -s) в вашем $ PATH или добавьте путь к нему в ваш $ PATH. Теперь у каждого файла есть "атрибуты", которые вы можете увидеть с помощью вспомогательной утилиты "GetFileInfo". Это буквы в верхнем или нижнем регистре. "E" и "e" означают "скрыть" или "показать" расширение. Вы можете легко переключаться между ними с помощью SetFile. Но вы также можете передать набор имен файлов в SetFile и сделать их ВСЕХ одной командной строкой. Вот простой пример:

У меня есть куча документов .doc (MS Word), некоторые из которых показывают расширение, некоторые скрывают расширение. Я ВСЕ из них, чтобы показать расширение. Предположим, они находятся в какой-то папке. Перейдите в папку и сделайте это:

 ls -1 *.doc | tr " " "?" | xargs -L1 SetFile -a 

-1 дает каждое имя файла в вашей папке с желаемым расширением. Команда "tr" переводит пробелы в именах файлов в "?msgstr "означает один символ совпадения, чтобы в именах не было пробелов. Затем «xargs -L1» передает каждое имя в «SetFile -a e», который говорит "показать" расширение для этого файла. Если он уже отображается, он остается таким.

SetFile может не нравиться имена с "?"в них, но он, конечно, не любит имена с пробелами, если аргумент файла для SetFile не в кавычках. К сожалению, "xargs" будет разбивать имена с пробелами на отдельные исполнения SetFile, что еще хуже.

Наконец, если вы хотите "скрыть" все расширения, используйте вместо этого «SetFile -a E».

0