フォルダがあります。5000ファイルを別の場所にコピーしたいです。
これを行うと、cp ../folder* .
次のエラーが発生します。
-bash: /bin/cp: Argument list too long
しかし、getconf ARG_MAX
報酬があります262144
。
$ echo ../folder* |wc
1 5015 69144
これは普通ですか?以前は、これらすべてのファイルをコピーできました。
答え1
プログラムを使用してパラメータを繰り返します。
例えばfind .. -type d -iname '*/folder*' -exec cp -a {} . \;
手動ループの繰り返し。例:
for myDir in ../folder* ; do cp -a "$myDir" . ; done
他の方法もたくさんありますが、上記の方法の1つがニーズに適しています。 (forループの例は遅くなる可能性があります)