Como listar todos os arquivos de conteúdo em um diretório?
algo como ls -la | cat
.
Como listar todos os arquivos de conteúdo em um diretório?
algo como ls -la | cat
.
Respostas:
Use o seguinte comando, recursivo:
find / path / to / folder -tipo f -exec cat {} \;
Versão não recursiva (devido à pressão popular):
find / caminho / para / pasta -maxdepth 1 -tipo f -exec cat {} \;
O seguinte comando:
find ./ -type f -exec cat {} \;
encontraria 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 do grawity. Aqui estão dois comportamentos conhecidos:
cat
no Linux irá lançar uma mensagem de erro ao tentar catar um diretório cat: ./folder: Is a directory
). cat
no FreeBSD irá despejar o diretório raw, como armazenado em disco. Se você precisar de mais informações sobre o comando ou algo mais sobre ele, responda e anoto mais / ajudo.
Editar:
Como John T salientou, este comando vai Entre em todos os subdiretórios. Se você precisar apenas de arquivos de cat do diretório atual, você precisaria -maxdepth 1
, dando assim:
find ./ -maxdepth 1 -type f -exec cat {} \;
o -maxdepth n
opção também pode ser usada para limitá-lo a um n
quantidade de subdiretórios, sendo 1 o diretório atual, 2 sendo o diretório atual e seus descendentes diretos e assim por diante.
cat
lançaria uma mensagem de erro. No FreeBSD, por exemplo, ele digitaria o diretório raw como ele é armazenado no disco. (Não é muito útil.)