Мне было интересно, есть ли в linux / unix удобный способ читать несколько файлов журнала как один.
В частности, я хотел бы просмотреть последовательность файлов журнала (app.log, app.log.1, app.log.2 и т. Д.) Как один большой файл с использованием обычных инструментов unix (vi, less и т. Д.). Когда EOF будет прочитан, инструмент автоматически перейдет к началу следующего файла.
Во время работы мне приходится анализировать логи uat / prod, чтобы исследовать и решать проблемы. Тот факт, что мне нужно просматривать множество файлов журналов, мешает моей работе и вызывает задержки.
Любые идеи?
Вы можете использовать списки файлов и подстановку файлов, чтобы указать несколько файлов.
Один большой файл:
cat file1 file2 anotherbunch* log[a-z] | less
Последовательность файлов (введите: n, чтобы перейти к следующему):
less -e file1 file2 anotherbunch* log[a-z]
В -e
автоматически переключается на следующий файл при достижении конца текущего файла (дважды) и закрывается при достижении конца последнего файла (дважды). Чтобы сделать это при первом достижении EOF, используйте -E
вариант.