매개변수 목록이 너무 깁니다. 파일이 5000개만 있습니다. [중복]

매개변수 목록이 너무 깁니다. 파일이 5000개만 있습니다. [중복]

폴더가 있어요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

다른 방법도 많이 있지만 위의 방법 중 하나가 필요에 적합합니다. (for 루프 예제는 속도가 느릴 수 있음)

관련 정보