Linux: localize os arquivos * .log nas árvores de diretórios e escreva as 10 últimas linhas em cada

0

Eu preciso encontrar todos os arquivos, que termina com .log no diretório / var e todos os diretórios de árvores; e para escrever dez últimas linhas de cada um desses arquivos * .log

cd /var sudo find -name '*.log' -print

Este comando me permite encontrar esses arquivos. O que eu vejo é: %código% Eu tentei usar ./log/auth.log ./log/Xorg.0.log .... ./log/apt/term.log .log/alternatives.log para imprimir as linhas, mas houve um erro. Então, qual comando devo usar para encontrar arquivos e imprimir as linhas?

    
por Николай Журба 01.10.2017 / 18:40

1 resposta

2

Tente isto :

find /var -name "*.log" -type f -exec tail '{}' +

Explicação :

-type f - encontre somente arquivos

-exec <command> {} + - execute o comando. Veja man find para mais informações

Ou :

for i in $(find /var -name "*.log" -type f); do echo $i; tail $i; done

Obtém a mesma saída, mas com pequena diferença de formato

    
por 01.10.2017 / 18:44

Tags