Não é possível mesclar arquivos usando cat [duplicate]

0

Eu tentei abrir muitos arquivos (10.000 +) com cat e eles mesclando-os em um assim:

cat * > ~/Desktop/lol.xml

Mas ele retornou esse erro:

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

Isso significa que é muito longo / grande, de que outra forma eu poderia fazer isso?

    
por DisplayName 10.11.2014 / 17:23

2 respostas

2

Há um limite para o número de argumentos que um comando pode receber. Uma solução alternativa é usar um for loop :

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

O máximo pode ser exibido com:

$ getconf ARG_MAX 
    
por 10.11.2014 / 17:25
1
find . -maxdepth 1 -type f --exec cat {} + > ~/Desktop/lol.xml

Isso chama cat com o número máximo possível de argumentos. Para os argumentos restantes, novas instâncias de cat são iniciadas.

    
por 10.11.2014 / 17:24

Tags