나는 많은 파일(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