ファイル名の多いフォルダがありますが、そのうちのいくつかは本当に奇妙で意味がないので、名前を次に変更したいとします。
File-1
File-2
File-3
..
私はこれを試しました(エコはtryngのためのものです)
for name in *; do echo mv $name File-`echo $(( RANDOM % (10 - 5 + 1 ) + 1 ))`;done
しかし、重複をたくさん与えてください。
mv bio1 file-3
mv memory23 file-1
mv mernad file-3
mv nio2 file-4
mv nun3 file-4
ベストアンサー1
shuf
(GNU coreutilsパッケージから)を使用することもできます。準備単一ランダムサンプルの代わりに - 次のようになります。
for f in *; do read i; echo mv -- "$f" "file-$i"; done < <(shuf -i 1-10)
または(おそらくより良いでしょう)シャッフルファイル名-その後、順番に名前を変更します。
i=1; shuf -z -e -- * | while IFS= read -rd '' f; do echo mv -- "$f" "File-$((i++))"; done