Глядя на бревна снизу вверх

35

Есть ли команда linux или какой-то способ посмотреть логи снизу вверх, а не сверху вниз. Я знаю tail -n <number of lines>, но есть ли что-то, что я могу прокрутить и перейти снизу вверх?

c0mrade
источник

Ответы:

32

У некоторых систем есть tac, что причудливо названо задом наперед cat. Без этого вы все еще можете сделать что-то вроде

awk '{print NR ":" $0}' $file | sort -t: -k 1nr,1 | sed 's/^[0-9][0-9]*://'
geekosaur
источник
8
+1 за tac, не знал об этом :)
Johan
cat -nэто как awk '{print NR,$0}', так немного более легкий.
Гленн Джекман
1
Я предполагал , что системы без tacсил и не хватают BSD происхождения версии cat(USG приправленной catне были -v, -nи т.д. Я думаю , что что - то срабатывает мой «старый ****».)
geekosaur
44

Я думаю, less +Gэто то, что вы ищете - он загрузит файл в конце, и вы можете использовать стрелку вверх (или k) для прокрутки назад. В средстве просмотра gвы попадете в начало файла и Gвернетесь к концу. И Fпрокручиваем до конца и пытаемся продолжать читать, вроде бы tail -f.

mattdm
источник
n1 +1 :) Если вы будете так любезны: вы можете объяснить, как искать файл снизу вверх при использовании less с флагом + G?
Олег Белоусов
2
@ OlegTikhonov Конечно. ?используется для поиска назад в файле.
Матдм
5

Эта tacкоманда похожа на обратную «кошку», если вы ищете то, что вам нужно.

Если вы просто хотите просмотреть файл, начиная с нижней части, почему бы вам не использовать редактор или «меньше»?

Гленн Джекман
источник
1
Две проблемы, с которыми я сталкиваюсь при использовании редакторов, заключаются в разбивке на страницы: а) не все редакторы ведут себя должным образом при отключении от сети, что означает, что редактор остается без изменений, даже когда оболочка отправляет сигнал SIGHUP; б) многие редакторы касаются каталога (путем создания файла подкачки / временного файла), что невыгодно, если вы хотите сохранить mtime каталога стабильным.
Arcege
2

Вы можете запустить lessи затем использовать M-> (это мета-ключ, обычно alt, и «>» одновременно), чтобы перейти к нижней части файла. lessподдерживает прокрутку.

Карлос Рендон
источник
1
Функция «перейти к последней строке» также обычно связана с >(без Meta или ESC) и G.
Крис Джонсен
@ Крис, я не понимал, что Мета не требуется меньше. Но это то, что вы бы использовали в Emacs.
Карлос Рендон
0

Я использую этот скрипт для чтения файла снизу вверх


#!/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

если sample.fileсодержит

 1
 2
 3

результат elpmas.fileбудет

 3
 2
 1
форсунка
источник
-1

Трубопровод в TAC также работает, например:

tail -n 3 /var/log/dmesg | tac
Марк
источник
-1

Раствор: в сочетании tacс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
nsantana
источник