Отвечая на вопрос о названии, для любого, кто придет сюда таким образом, голова и хвост могут принять код для того, сколько файла исключить.
- Для хвоста используйте
-n +num
для номера строки num
, начиная с - Для заголовка используйте
-n -num
для количества строк, которые не нужно печатать
Это относится к фактическому вопросу, если выВы запомнили количество строк за предыдущий раз, когда вы выполнили команду, а затем использовали это число для tail -n +$prevlines
, чтобы получить следующую часть частичного журнала, независимо от того, как часто проверяется журнал.
ОтветНа самом деле, один из способов напечатать все после определенной строки, которую вы можете ввести, - это использовать опцию -A со смешным счетом.Это может быть более полезным, чем другие ответы здесь, так как вы можете получить несколько дней результатов.Таким образом, чтобы получить все со вчерашнего дня и до сегодняшнего дня:
grep "^`date -d yesterday '+%d %b %y'`" -A1000000 log_file.txt
Вы можете комбинировать 2 greps для печати между двумя диапазонами дат.
Обратите внимание, что это зависит от даты, которая фактически происходит вжурнальный файл.Недостатком является то, что если в определенный день, используемый в качестве маркера диапазона, не было зарегистрировано ни одного события, он ничего не найдет.
Чтобы решить, что вы можете ввести фиктивные записи для даты начала и окончания и отсортироватьфайл перед grepping.Это, вероятно, излишне, и сортировка может быть дорогой, поэтому я не буду приводить пример.