
Ubuntu日本語フォーラム

ログインしていません。
SDカードで使用するFMトランスミッターでMP3を聴いています。
このトランスミッターに一応ランダム再生モードはあるのですが、エンジンを切る度に元に戻ってしまいます。
それならMP3中のデータファイル名そのものをランダム化したら、と考えました。
GPrenameは使っておりますが、連番付与の機能はあるものの、ランダムにはならないようです。
aaaa.mp3 bbbb.mp3 cccc.mp3 dddd.mp3 ・・・・・
というファイル名の先頭に乱数を付与して
219aaaa.mp3 106bbbb.mp3 059cccc.mp3 371dddd.mp3 ・・・・・
というような感じで処理されるシェルスクリプトを作ろうと思ったのですが、自分の力量では無理でした。
どなたかお助け願えれば幸いです。
オフライン
こんにちは。
僕はシェルスクリプトについては全くわかりません。
ので、バッチ処理をするときはいつもPythonで書いてます。
ubuntuには標準で実行環境が入ってますのでそのまま使えると思います。
参考までに、スクリプトを実行したフォルダの *.mp3 ファイルをリネームするスクリプトは以下の様になります。
(※オリジナルファイルに対して使わないよう注意してください。)
$ vim mp3randomize.py
#!/usr/bin/env python
# vim:fileencoding=utf-8
import os, glob, random
for file in glob.glob("*.mp3"):
os.rename(file, "%05d%s" % (random.randint(0, 99999), file)) # aaa.mp3は 00000aaa.mp3の形にリネームされます。000aaa.mp3のように桁数を変えたい場合は、
os.rename(file, "%03d%s" % (random.randint(0, 999), file))
のように2ヶ所を変更してください。
使うときは
$ cd /media/sd $ /home/user/mp3randomize.py
とか。
複数回同じファイル郡に対して実行すると000000000000000aaa.mp3とどんどんファイル名が長くなっていっちゃいますが。。。
オフライン
lay様
素早いご教示誠にありがとうございます!
本当は自分で書けるようにコツコツ勉強すべきでしょうが…
教えていただいた通りにやってできました。ありがとうございました。
オフライン
色んな方法が紹介されています。
http://d.hatena.ne.jp/hycon/20101007/1286450035
オフライン