комбинирование tail-f с less +F не работает

Я использую ubuntu bash. Я пытаюсь объединить tail-f и less +F, как показано ниже, и ничего не выходит.

tail -f long_running_log | less +F

long_running_log - это файл журнала, постоянно записываемый другим процессом. Следующая строка покажет тонну материала на консоли:
tail-f long_running_log
Но как только я объединяю его с меньшим +F с трубой, ничего не выходит.

в случае, если вы задаетесь вопросом, почему я делаю это, это потому, что я хочу отфильтровать результаты хвоста вдоль путь. Настоящая команда выглядит следующим образом:
хвост -Ф long_running_log | фильтр1 | фильтр2 | менее +Ф

в целях отладки я удалил filter1 и filter2 посередине и все еще имею проблемы.

17
задан Tom Bennett
11.02.2023 14:42 Количество просмотров материала 3168
Распечатать страницу

1 ответ

С меньше на странице:

   F      Scroll forward, and keep trying to read when the end of file is reached.  Normally  this  com-
          mand  would be used when already at the end of the file.  It is a way to monitor the tail of a
          file which is growing while it is being viewed.  (The behavior is similar  to  the  "tail  -f"
          command.)

проблема в том, что пока работает конвейер (т. е. tail все еще работает) вы не получите EOF. Вы можете проверить это с помощью Ctrl-C, который убивает конвейер-затем отображается отфильтрованный вывод.

вы можете либо полностью отказаться от трубопроводов 'меньше +F' (вы будете получать отфильтрованные выходные данные, постепенно отображаемые в терминале) или перенаправлять отфильтрованные вывод в другой файл, который затем можно отслеживать с помощью 'меньше +F that_log_file'.

0
отвечен Dan Cornilescu 2023-02-12 22:30

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх