У мене понад 10 000 файлів, які не мають розширень із старих версій Mac OS. Вони надзвичайно вкладені у структуру файлів, у них також є всілякі дивні формати та символи. У них більше не додаються типи файлів або коди творців. Багато файлів мають текст у файлі, який дозволить мені визначати розширення (наприклад, Word.Document.8 - це текст кожного файлу, створеного цією версією Word).
Я знайшов сценарій, схожий на те, що він одночасно буде працювати для одного з цих типів файлів, але він стирає частини імен файлів після нечесних символів, що не годиться.
find . -type f -not -name "*.*" -print0 |\
xargs -0 file |\
grep 'Word.Document.8' |\
sed 's/:.*//' |\
xargs -I % echo mv % %.doc
Чи потрібно спочатку очистити символів у файлах файлів або програмово розправитись із тими, що в сценарії, щоб залишити їх однаковими? Поки я не втрачаю інформації з назви файлів, я не бачу проблеми з очищенням косої риски та інших проблемних символів. Крім того, якщо я очищую імена файлів, ймовірно, будуть дублікати, тому будь-який сценарій очищення повинен буде додати щось на зразок "-1" перед розширенням, щоб переконатися, що нічого не загубиться.
Я не прив’язаний до цього сценарію, але це зрозуміло, що є профі. Mac OS X 10.6 встановлений на цьому файловому сервері, але я отримав доступ до будь-яких останніх версій OS X.
xargs -0 file | grep 'Word.Document.8'
якщо file
команда не звітує Word.Document.8
?
Word.Document.8
, або ви хочете сказати, щоfile MyTermPaper
звітиWord.Document.8
для ваших документів Word?