Alguns sistemas têm tac
, que é um% ca_de% de backward com o nome caprichoso. Sem isso, você ainda pode fazer algo como
awk '{print NR ":" $0}' $file | sort -t: -k 1nr,1 | sed 's/^[0-9][0-9]*://'
Existe um comando do Linux ou uma maneira de ver os logs de baixo para cima e não de cima para baixo. Eu sei sobre tail -n <number of lines>
, mas há algo que eu possa realmente rolar e ir de baixo para cima?
Eu acho que less +G
é o que você está procurando - ele carregará o arquivo no final, e você pode usar a seta para cima (ou k ) para rolar para trás. Dentro do visualizador, g irá levá-lo ao topo do arquivo e G irá levá-lo de volta ao final. E F irá até o final e tentará continuar lendo, como tail -f
.
O comando tac
é como um "gato" reverso, se é isso o que você procura.
Se você quiser apenas visualizar um arquivo começando por baixo, por que você não usa um editor ou "menos"?
Você pode executar less
e, em seguida, usar M > (essa é a meta key, geralmente alt, e a '>' ao mesmo tempo) para ir até o final do arquivo.
less
suporta a rolagem.
Se você estiver escrevendo um nagios, verifique o módulo File :: ReadBackwards do perl <é útil
Eu uso este script para ler um arquivo de baixo para cima
#!/bin/bash
echo -n elpmas.file # resulting file
ctr_line=0
while read line; do
let ctr_line++
tail -n $ctr_line | head -n 1 >> elpmas.file
done <sample.file
se sample.file
contiver
1
2
3
o resultado elpmas.file
será
3
2
1
Piping into tac também funciona, por exemplo:
tail -n 3 /var/log/dmesg | tac
tac
com less
tac $@ | less
sudo bash -c 'echo "tac \$@ | less" > /usr/local/bin/tacless'
sudo chmod +x /usr/local/bin/tacless
tacless /var/log/auth.log
Tags text-processing pager