Организация музыки через командную строку?

У меня есть довольно приличная библиотека песен, которые я смог захватить из своей учетной записи Google Music. Тем не менее, сейчас у них нет структуры, а всего лишь масса песен в одной папке.

Есть ли только инструмент командной строки, который может их прочесть, и пометить / отсортировать для меня? Я знаю, что для этого есть множество инструментов для интерфейса, но мой сервер безголовый.

1
задан 14 January 2016 в 20:17

3 ответа

Вы можете использовать exiftool для чтения тегов ID3 ​​из ваших музыкальных файлов. Затем используйте эту информацию в сценарии, чтобы переименовать / переместить ваши файлы в более читаемую структуру.

$ exiftool Martin_Garrix-Animals_\(Original_Mix\).mp3 
ExifTool Version Number         : 10.00
File Name                       : Martin Garrix - Animals (Original Mix).mp3
Directory                       : .
File Size                       : 12 MB
File Modification Date/Time     : 2014:01:13 11:10:16-02:00
File Access Date/Time           : 2016:01:14 10:03:18-02:00
File Inode Change Date/Time     : 2015:12:27 00:39:21-02:00
File Permissions                : rwxrwxr-x
File Type                       : MP3
File Type Extension             : mp3
MIME Type                       : audio/mpeg
MPEG Audio Version              : 1
Audio Layer                     : 3
Audio Bitrate                   : 320 kbps
Sample Rate                     : 44100
Channel Mode                    : Joint Stereo
MS Stereo                       : On
Intensity Stereo                : Off
Copyright Flag                  : True
Original Media                  : True
Emphasis                        : None
ID3 Size                        : 57933
Band                            : Martin Garrix
Album                           : Animals
Beats Per Minute                : 128
Genre                           : Progressive House
Track                           : 1
Year                            : 2013
User Defined URL                : http://www.edmexqlusiv.com/
Picture MIME Type               : image/jpeg
Picture Type                    : Front Cover
Picture Description             : 
Picture                         : (Binary data 55457 bytes, use -b option to extract)
Title                           : Animals (Original Mix)
Artist                          : Martin Garrix
Comment                         : Downloaded from
Date/Time Original              : 2013
Duration                        : 0:05:04 (approx)
1
ответ дан 23 May 2018 в 14:17

Я взломал этот сценарий, который должен в значительной степени выполнять то, что вы намереваетесь. Он считывает теги ID3 каждого файла в текущем каталоге (cd в каталог со всеми музыкальными файлами в первый раз), загораживает исполнитель, альбом и тег заголовка и перемещает файл в artist/album/title.extension, создавая структуру папок, если необходимо.

#!/bin/bash
#Install id3 command line tool, if not installed
if [ -z "`dpkg -s id3 | grep 'Status: install'`" ]; then
    sudo apt-get install id3
fi
IFS=$'\n'
for f in *; do
    #Skip directories
    [ -d "$f" ] && continue
    tags=($(id3 -l "$f" | sed -re 's/\s{2,}([^:])/\n\1/g' | egrep ':.+'))
    for l in ${tags[@]}; do
        [ -n "`echo $l | egrep '^Title'`" ] && TITLE="`echo $l | sed -re 's/^.*?: //'`"
        [ -n "`echo $l | egrep '^Artist'`" ] && ARTIST="`echo $l | sed -re 's/^.*?: //'`"
        [ -n "`echo $l | egrep '^Album'`" ] && ALBUM="`echo $l | sed -re 's/^.*?: //'`"
    done
    mkdir -p "$ARTIST/$ALBUM"
    mv "$f" "$ARTIST/$ALBUM/$TITLE.$(echo $f | sed -re 's/.*\.([^.]*$)/\1/g')"
done
1
ответ дан 23 May 2018 в 14:17

Я не могу найти / подумать о каких-либо безголовых программах, чтобы сортировать музыку так, как вы описали (хотя я думаю, что должно быть). Все, что я могу предложить, - это дистанционное подключение к файловой системе на рабочем столе и использование какой-либо программы (например, Banshee) для сортировки музыки.

-1
ответ дан 23 May 2018 в 14:17

Другие вопросы по тегам:

Похожие вопросы: