フォルダ内の多くのファイルの名前を変更するには?

フォルダ内の多くのファイルの名前を変更するには?

1つのフォルダにある350個程度のファイル名をランダムに抽出したいのですが、ファイルの元の名前はすべて持ちたいです。つまり、フォルダ内のすべての名前が元の名前からランダムに生成され、新しい名前や欠落している名前がないことを意味します。可能ですか?

(私の質問を明確に説明していない場合は、この質問を自由に編集してください。)

ベストアンサー1

mkdir aux
ls | shuf > a                                # a=randomize list of files
(tail -n +2 a ; head -1 a) > b               # b=rotate a one line
paste a b > c                                # c=(name1 name2)*
gawk '{system( "mv " $1 " aux/" $2)}' c      # mv name1 -> aux/name2
mv aux/* .                                   # mv aux/name -> name
rm a b                                     

c必要に応じて回復を続行してください。 (セカンダリファイルの名前を選択してください)

おすすめ記事