Использование AWK на MacBook для ведения бухгалтерии файлов - PullRequest
1 голос
/ 20 января 2011

Я новичок в среде mac & unix ... Я пытаюсь управлять файлами библиотеки itunes, которые сейчас довольно сильно перепутаны.

В частности, некоторые из моих альбомов были разорваныдважды - один раз в м4а и один раз в mp3.К сожалению, это означает, что у меня есть дубликаты в iTunes.Я хочу удалить mp3, но сохранить M4A.Не во всех альбомах есть m4a, поэтому я не могу массово удалить mp3.

Моя мысль - использовать awk для поиска по каталогам, в которых есть как m4a, так и mp3, а затем удалять mp3 только в техкаталоги.

Любая помощь?спасибо!

Ответы [ 2 ]

0 голосов
/ 20 января 2011
#!/bin/bash

while IFS= read -r -d $'\0' file; do 
  [[ -f ${file%.*}.mp3 ]] && echo rm ${file%.*}.mp3
done < <(find . -type f -name "*.m4a" -print0)

Удалите echo, если он работает для вас

0 голосов
/ 20 января 2011

Вам не нужен AWK.Следующая команда использует find, чтобы найти все файлы m4a и передать их в команду оболочки.Команда оболочки заменяет «mp3» вместо «m4a» в конце имени файла, проверяет, существует ли файл mp3, затем удаляет его.

find . -name '*.m4a' -exec sh -c 'f="${1%m4a}mp3"; [ -f "$f" ] && rm "$f"' _ {} \;

Чтобы попробовать его перед использованиемживи, поменяй rm на echo.

...