Перейти к содержимому

Инструмент командной строки Linux для пакетного переименования файлов MP3 на основе информации тега ID3 или присвоения произвольного имени, если информация ID3 отсутствует

4

У меня есть куча восстановленных mp3-файлов, которые имеют системные имена файлов. Я хочу использовать любую встроенную информацию тега ID3 в файлах, чтобы переименовать каждый файл в нечто, удобочитаемое человеком.

Я пробовал 'mp3rename' из репозитория Debian apt, но он не обрабатывает mp3-файлы без автоматической пометки id3. Есть ли работоспособная альтернатива?

2 975 просмотров
rutherford спросил 13 лет назад
R 546

5 ответов

3

If you like Perl, an easy way to get a hold of the tags is this:

#!/usr/bin/env perl use File::Find; use MP3::Tag; use Cwd; $dir = "."; open(OUTFILE,">tags.txt") || die "Can't open: $!\n"; print OUTFILE 'Output for "'.getcwd().'"'." and subdirectories\n"; print OUTFILE "Path;Artist;Title;Track;Album;Year;Genre;File Size\n"; find(\&edits, $dir); close(OUTFILE); print "Done\n"; sub edits() { $fn=$_; $not_shown=1; if ( -f and $fn=~m/.+\.mp3$/ig) { $mp3 = MP3::Tag->new($fn); ($title, $track, $artist, $album, $comment, $year, $genre) = $mp3->autoinfo(); $fs= -s $fn; print OUTFILE "$File::Find::name\\$fn;$artist;$title;$track;$album;$year;$genre;$fs\n"; } if ( -f and $fn=~m/.+\.wav$|\.m4a$/ig) { $fs= -s $fn; print OUTFILE "$File::Find::name\\$fn;;;;;;;$fs\n"; } } 

From there, a little scripting, and you've got what you want.

Я внес несколько изменений в этот скрипт и поместил его на Github: https://github.com/hovenko/audio-renamer, который теперь также предоставляет печать команд "mv" для переименования файлов в соответствии с номером дорожки и названием.

hovenko · 10 лет назад · 1
kmort ответил 13 лет назад
K 1 329
2
Принятый ответ

id3v2 and some scripting should make this possible. I'll look through the man pages and try to write up an example, but id3v2 -l file will list the tags from that file. From there you can pipe through awk/sed/whatever to end up with a command to rename the file.

Rob ответил 13 лет назад
R 1 767
1

Это не командная строка, но я всегда использовал EasyTag. Это позволяет мне добавлять обложки и обложки CD к файлам.

Просто упоминание названия инструмента не считается ответом. Пожалуйста, смотрите http://meta.superuser.com/questions/5329/how-do-i-recommend-software-in-my-answers для получения рекомендаций по рекомендации программного обеспечения. Благодарю.

fixer1234 · 10 лет назад · 2
Linux User 1Million and 10 ответил 10 лет назад
L 11
1

Посмотрите, в exiftoolчастности, раздел справочной системы, озаглавленный ПЕРЕМЕННЫЕ ПРИМЕРЫ .

Это не ограничено только файлами MP3.

user1338062 ответил 8 лет назад
U 557
1

Вы можете попробовать команду kid3-cliинструмента из Kid3

Пример :

kid3-cli -c 'fromtag "%__%__%" 1' *.mp3 
SebMa ответил 7 лет назад
S 318