2013-07-23 4 views
1

Я пытаюсь написать команду 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

+0

ли 'найти. -type f -name '* .mp3' -exec file {} \; | sort -n -t, -k6,6' работает? – devnull

+0

Он отобрал список файлов, но, похоже, он не сортируется по битрейту. – Goodhank

+0

Если вы не разделяете несколько строк вывода, созданных 'find. -type f -name '* .mp3' -exec file {} \; 'трудно помочь. – devnull

ответ

1

Попробуйте это:

find . -type f -name '*.mp3' -exec file {} \; | sort -t, -nk6

+0

Он выдал список файлов, но они не отсортированы по битрейту. – Goodhank

+0

@Goodhank Отправьте несколько примеров вывода из команды 'find', чтобы мы могли отлаживать. –

+0

Результат моей команды find: './Bolt Thrower/1988 - В битве нет закона/01 - В битве нет закона.mp3: Аудиофайл с ID3 версии 2.3.0 содержит: MPEG ADTS, уровень III, v1, 320 kbps, 44,1 kHz, Stereo ' – Goodhank