Use o seguinte comando, recursivo:
find /path/to/folder -type f -exec cat {} \;
Versão não recursiva (devido à pressão popular):
find /path/to/folder -maxdepth 1 -type f -exec cat {} \;
Como listar todos os arquivos de conteúdo em um diretório?
algo como ls -la | cat
.
O seguinte comando:
find ./ -type f -exec cat {} \;
localizaria apenas arquivos ( -type f
) da pasta atual ( ./
).
A resposta de Studer é boa, e a exclusão de diretórios é uma boa ideia, porque é um comportamento indefinido entre os unices, leia o comentário de Grawity. Aqui estão dois comportamentos conhecidos:
cat
on Linux lançará uma mensagem de erro ao tentar catar um diretório cat: ./folder: Is a directory
). cat
no FreeBSD fará o dump do diretório raw, como armazenado em disco. Se precisar de mais informações sobre o comando ou algo mais sobre ele, responda e anotei mais / ajude você.
Editar:
Como o John T apontou, este comando irá entrar em todos os subdiretórios. Se você precisa apenas de arquivos cat do diretório atual, você precisaria de -maxdepth 1
, fornecendo:
find ./ -maxdepth 1 -type f -exec cat {} \;
A opção -maxdepth n
também pode ser usada para limitá-la a uma quantidade n
de subdiretórios, sendo 1 o diretório atual, 2 sendo o diretório atual e seus descendentes diretos e assim por diante.
Tags command-line find unix