ID3タグ情報に基づいてMP3ファイルを一括で名前変更するLinuxコマンドラインツール、またはID3情報が存在しない場合はランダムな名前を付ける


4

私はシステムが生成したファイル名を持っている回復されたmp3ファイルの束を持っています。ファイルに埋め込まれたID3タグ情報を使用して、それぞれの名前を人間が読める形式に変更します。

私はDebianのaptレポジトリから 'mp3rename'を試しましたが、id3タグ付けなしのmp3ファイルを自動的に処理しません。実行可能な代替案はありますか?

回答:


2

id3v2 そしてこれを可能にするスクリプトもあります。私はmanページを見て、例を書いてみるつもりですが、 id3v2 -l file そのファイルからタグを一覧表示します。そこから、ファイルの名前を変更するためのコマンドになるように、awk / sed / whateverをパイプスルーすることができます。


3

Perlが好きなら、タグをつかむ簡単な方法はこれです:

#!/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";
        }
}

そこから、ちょっとしたスクリプティング、そしてあなたはあなたが望むものを手に入れました。


1
このスクリプトにいくつか変更を加えてGithubに置きました。 github.com/hovenko/audio-renamer これは、トラック番号とタイトルに従ってファイルの名前を変更するための "mv"コマンドのプリントも提供します。
hovenko

1

これはコマンドラインではありませんが、EasyTagは私がいつも使ってきたものです。それは私がファイルにもカバーとCDアートワークを追加することを可能にします。


2
ツールの名前を挙げただけでは答えとは見なされません。見てください meta.superuser.com/questions/5329/… ソフトウェアの推奨に関するガイダンスありがとう。
fixer1234

1

見て exiftoolより具体的には、 改名例

MP3ファイルだけに限定されていません。


1

あなたは試すことができます kid3-cli からのツールコマンド 子供3

例:

kid3-cli -c 'fromtag "%{track}__%{album}__%{title}" 1' *.mp3
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.