cat을 사용하여 파일을 병합할 수 없습니다. [중복]

cat을 사용하여 파일을 병합할 수 없습니다. [중복]

나는 많은 파일(10,000개 이상)을 열고 cat다음과 같이 하나로 병합해 보았습니다.

cat * > ~/Desktop/lol.xml

그러나 다음 오류가 반환되었습니다.

-bash: /bin/cat: Argument list too long

이는 내용이 너무 길거나 크다는 것을 의미합니다. 이를 위해 어떤 다른 방법을 사용할 수 있습니까?

답변1

find . -maxdepth 1 -type f --exec cat {} + > ~/Desktop/lol.xml

이는 cat가능한 최대 인수 수를 사용하여 호출됩니다. 나머지 매개변수의 경우 cat새 인스턴스가 시작됩니다.

답변2

명령이 사용할 수 있는 인수 수에는 제한이 있습니다. 해결책은 다음을 사용하는 것입니다 for loop.

for file in *; do cat "$file"; done

최대값은 다음과 같은 방법으로 표시할 수 있습니다.

$ getconf ARG_MAX 

관련 정보