2

今日、外付けドライブから音楽フォルダに MP3 ファイルをインポートしようとしましたが、タグの多くが間違って解釈されていることに気付きました。たとえば、á、ó、í、ö、ä などの文字を含むファイルは、次のように四角形の中にクエスチョン マークとして表示されます。</p>

私がしたことは、すべてのmp3ファイルを外付けのfat32ドライブからLinuxである自分のものに移動することだけです。この「特殊文字」、つまり文字を削除する方法はありますか? 私が失敗したのは、次のようなsed -e 's/\?/ae/g' でした:

id3v2 -l song.mp3 | grep Artist | cut -d ':' -f 2 | sed -e 's/\?/ae/g'

このリンクを読んで気付いたのは、ä、ö、á などの文字の一部が \341 などの数字で解釈されることです。これは FAT32 から Linux へのトランスコーディングと関係があると思いますが、まったくわかりません。誰かがそれらを sed に正しく置き換える方法を知っています-他の解決策を歓迎します;-)。ご提案いただきありがとうございます。

4

2 に答える 2

3

この逆論理の sed 式が sed の質問に対する回答として機能するかどうかはわかりませんが、試してみてください。

sed -re 's/[^a-zA-Z0-9]+//g'

azではないすべての文字の 1 つ以上のインスタンスを取ります。AZ、0-9、およびそれを削除します。(許可する文字のセットが限られているが、許可されていない文字の量が不明な場合は、これが最も簡単な方法である場合があります。おそらく、許可する式にさらに文字を追加する必要があります。)

于 2012-06-26T20:21:28.270 に答える
0

タグは mp3 ファイルにありますか? もしそうなら、バイナリファイルでsedを実行するのは避けたい...

于 2012-07-10T18:49:14.837 に答える