この質問にはすでに回答があります :9年前に閉鎖。
Linux
重複の可能性:
数千を含むフォルダから100のファイルを移動するにはどうすればよいですか?
ディレクトリから別のディレクトリに最初の1000ファイルのみをコピーすることは可能ですか?
よろしくお願いします
承認された回答:
次の例では、現在のディレクトリで見つかった最初の1000個のファイルを$destdir
にコピーします。 。実際のファイルはfind
によって返される出力に依存しますが 。
$ find . -maxdepth 1 -type f |head -1000|xargs cp -t "$destdir"
cp
のGNU実装が必要です -t
の場合 、GNU互換のfind
-maxdepth
の場合 。また、ファイルパスに空白、改行、引用符、円記号(または無効な文字、またはxargs
を含む255バイトより長い文字)が含まれていないことを前提としていることにも注意してください。 実装)。
編集: スペース、改行、引用符などを含むファイル名を処理するには、nullで終了する行を使用することをお勧めします(head
のバージョンを想定) -z
があります オプション):
find . -maxdepth 1 -type f -print0 | head -z -n 1000 | xargs -0 -r -- cp -t "$destdir" --