O Linux divide arquivos separados no disco mas vê como um

2

Existe uma funcionalidade no Linux que permite fazer referência a vários arquivos como um só?

Por exemplo:

linux.txt.0 , linux.txt.1 , linux.txt.2 , linux.txt.3 pode ser visto como arquivos separados ou como linux.txt

Um exemplo útil:

echo linux.txt

deve imprimir o conteúdo de linux.txt.0 , linux.txt.1 , linux.txt.2 , linux.txt.3 nessa ordem específica.

Eu não quero usar cat com vários argumentos porque ele carrega os arquivos na memória e geralmente meus arquivos são enormes.

    
por nucandrei 13.10.2014 / 15:33

1 resposta

4

A maneira mais fácil de fazer esse tipo de coisa é usar os recursos de expansão globbing e / ou brace do shell:

cat linux.{0..3}.txt

ou

cat linux.*.txt

Como outros explicaram, cat não carrega o arquivo inteiro na memória, ele apenas lê alguns bytes, imprime-os na tela e repete até que tudo tenha sido lido.

    
por 13.10.2014 / 17:09