1

mp3splt を使用して、mp3 ミックスからいくつかのトラックを分離しました。

バッシュ: (mp3splt -c('**!!***use .cue file***!!**') [cuefile.cue] [nonstopmix.mp3] ~for anyone interested, is in the Ubu repos~)

そして、これらのファイル名になりました: "Antares" - 01 - "Xibalba".mp3 これは私が好む形式ではありません。シェル スクリプトを使用してファイル名を変更する小さなプロジェクトを作成しましたが、予想よりも困難でした。 .

ファイル名を次のように変更したい:

"Antares" - 01 - "Xibalba".mp

に:

01-Antares_-_Xibalba.mp3

これまで私は使用してきました:

for var in *.mp3; do mv $var {var/"/}; done

完了するまでそれを繰り返し、0x番号を削除して追加することもできますが、もっと効率的にしたいと思います。

誰かが私にポインターを与えることができますか ( !スクリプトではありません! )? まだ自分で書きたいのですが、オプションが多すぎて少し迷っています。

これまでのところ、このプログラムフローを使用することを考えていました:

  1. .mp3 を含むすべてのファイル名を読み取り、変数 $var として宣言します

  2. 引用符から $var を取り除きます

  3. 0x 番号を選択し、区切り文字 _ (0x_) を追加

  4. 0x_ を文字列の先頭に移動します

  5. 残りの「 - - 」を選択して「 - 」変更

終わり

どのbashプログラムを使用しますか? 特に 0x パズルを変更すると、この番号をインクリメントし、ファイル名変数に存在するかどうかをテストするループが必要であり、変更する必要があります。

4

2 に答える 2

0

Python 2.x では簡単に実行できます。このロジックは、任意の言語で使用できます。

import string
a=raw_input('Enter the name of song')
a=a.replace('"', "")
a=a.replace('.mp', ' .mp3')
words = a.split()
print words[2]+'-'+words[0]+'_-_'+words[4]+words[5]

論理:

"を削除し、.mp を .mp3 にしてから、文字列を分割してリスト ( array ) を作成し、必要に応じて要素を出力しました。

于 2013-09-28T17:12:15.760 に答える