特定の種類の特定数のファイルをあるディレクトリから別のディレクトリにランダムにコピーします。

特定の種類の特定数のファイルをあるディレクトリから別のディレクトリにランダムにコピーします。

時にはjpgでいっぱいのフォルダがあり、そのうち8つ程度をランダムに選択する必要がある場合があります。自分のアカウントがフォルダ内の8つのjpgをランダムに選択して他のターゲットにコピーするように自動化するにはどうすればよいですか?

cp私の問題は本当に簡単です。ファイル名とターゲットファイル名を使用して指定するのではなく、フォルダから8つの.jpgをランダムに選択して別のフォルダにコピーするスクリプトを作成したいと思います。

ベストアンサー1

あなたが使用できるshuf

shuf -zn8 -e *.jpg | xargs -0 cp -vt target/
  • shuf*.jpg現在のディレクトリのファイルのリストを混在させます。
  • -z特殊文字を含むファイルを正しく処理するために、各行をゼロで終わることです。
  • -n88個のファイル以降終了しますshuf
  • xargs -0null文字でshuf -z区切られた入力(から)を読み取り、実行しますcp
  • -v各コピーを詳細に印刷します。
  • -t宛先ディレクトリを指定するだけです。

おすすめ記事