USBデバイスのファイル名をランダムに変更

USBデバイスのファイル名をランダムに変更

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-whilemvfoo.mp3000001-foo.mp3

関連情報