Заменить номер CD в теге MP3 ID3

У меня есть библиотека файлов MP3, где в некоторых файлах тег «CD number» (TPOS) содержит значения «CDx», например «CD1» или «CD2». В спецификации ID3 указано, что значения TPOS должны быть численными. Обработка этих файлов ломает некоторые редакторы тегов, в частности eyeD3 игнорирует значения.

Что было бы разумным способом заменить эти теги ID3 на числовые строки через командную строку?

  • Параметры команды загрузки из файла верхнего уровня
  • Перенаправление и пробелы вывода
  • Косвенно развернуть переменные в оболочке
  • как переименовывать файлы во время копирования?
  • Выйдя из цикла, вернитесь к началу цикла с правильным значением переменной
  • Объединение двух файлов с уникальным идентификатором
  • У меня есть решение, которое поставляется с некоторой магией командной строки, я ищу что-то более простое:

    find . -name "*.mp3" -exec id3v2 -R {} \; |awk -F": " '/^Filename/ {f=$2};/^TPOS/ {print f, "\t", $2}'|grep CD1|awk -F" \t" '{print $1}'|xargs -L 1 -d "\n" -I{} id3v2 --TPOS "1" {} 

    В двух словах: найти mp3-файлы, извлечь теги ID3 с id3v2, извлечь имя файла и TPOS с awk, grep для «CD1», вырезать имя файла и применить id3v2, чтобы установить номер диска в «1».

    Linux и Unix - лучшая ОС в мире.