Я пытаюсь написать команду bash для отображения моей музыкальной библиотеки, отсортированной по битрейту. Команда должна быть рекурсивной, так как у меня есть файлы организованы как: музыка/исполнителя/альбома/song.mp3Bash one-liner для сортировки музыкальной библиотеки по битрейту
Это отображает все mp3s с битрейтом информации, но без сортировки:
find . -type f -name '*.mp3' -exec file {} \;
Если вы используйте запятые в выводе команды файла в качестве разделителей, битрейт между пятым и шестым запятых, поэтому я попытался упорядочить команду:
find . -type f -name '*.mp3' -exec file {} \; | sort -n -t, +5 -6
но это не сработает. Советы?
EDIT:
Вывод, что найти команду что-то похожее на:
./Stemage/Metroid Metal (Original) /supermetroid_brinstar.mp3: Аудио файл с ID3 версии 2.3.0, содержит: MPEG ADTS, уровень III, v1, 192 kbps, 44,1 кГц, JntStereo
./Stemage/Metroid Metal (Original) /metroid_kraid.mp3: Аудиофайл с ID3 версии 2.3.0 содержит: MPEG ADTS, layer III, v1, 192 kbps, 44,1 кГц, JntStereo
./Stemage/Metroid Metal (Original) /metroid_itemcollect.mp3: Аудио файл с ID3 версии 2.3.0, содержит: MPEG ADTS, слой III, v1, 192 кбит, 44,1 кГц, JntStereo
./Stemage/ Metroid Metal (Original) /metroid_tourianbrain.mp3: Аудиофайл с ID3 версии 2.3.0 содержит: MPEG ADTS, уровень III, v1, 192 kbps, 44,1 кГц, JntStereo
./Stemage/Metroid Metal (Original)// metroid_ending.mp3: Аудиофайл с ID3 версии 2.3.0 содержит: MPEG ADTS, уровень III, v1, 192 кбит/с, 44,1 кГц, JntStereo
./Stemage/Metroid Metal (Original) /metroid_metaltheme.mp3: Аудиофайл с ID3 версии 2.3.0, содержит: MPEG A DTS, слой III, v1, 192 кбит, 44,1 кГц, JntStereo
ли 'найти. -type f -name '* .mp3' -exec file {} \; | sort -n -t, -k6,6' работает? – devnull
Он отобрал список файлов, но, похоже, он не сортируется по битрейту. – Goodhank
Если вы не разделяете несколько строк вывода, созданных 'find. -type f -name '* .mp3' -exec file {} \; 'трудно помочь. – devnull