У меня есть довольно приличная библиотека песен, которые я смог захватить из своей учетной записи Google Music. Тем не менее, сейчас у них нет структуры, а всего лишь масса песен в одной папке.
Есть ли только инструмент командной строки, который может их прочесть, и пометить / отсортировать для меня? Я знаю, что для этого есть множество инструментов для интерфейса, но мой сервер безголовый.
Вы можете использовать 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)
Я взломал этот сценарий, который должен в значительной степени выполнять то, что вы намереваетесь. Он считывает теги 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
Я не могу найти / подумать о каких-либо безголовых программах, чтобы сортировать музыку так, как вы описали (хотя я думаю, что должно быть). Все, что я могу предложить, - это дистанционное подключение к файловой системе на рабочем столе и использование какой-либо программы (например, Banshee) для сортировки музыки.