USBデバイスのすべてのファイル名をランダムに変更したいです。実際、私の車のチューナーにはランダムな機能はありません。
PHPでこれを行うことができるようです。しかし、シェルスクリプトでは、より短い作業もできると確信しています。そうですか?
アイデア?
答え1
一定の幅の乱数をプレフィックスとして追加できます。これが私がオーディオファイルをランダム化するために行うことです。
for i in *; do mv "$i" "$(seq -w 0 999 | shuf -n 1)_$i"; done
答え2
Linuxを実行していて、現在のディレクトリ内のすべてのファイルをランダムに並べ替え、ファイル名に改行文字が含まれていないとしましょう。
printf '%s\n' * | shuf | nl -n rz -s - |
while IFS= read -r name; do
mv -- "${name#*-}" "$name"
done
このprintf
コマンドは、1行に1つずつファイル名を出力します。shuf
入力行にランダム置換を適用します。各行にプレフィックスなどを追加しますnl
。このループはすべての行を通過します。コマンドの名前が等に変更されました。000001-
000002-
while
mv
foo.mp3
000001-foo.mp3