tail -f -n 1 возвращает все содержимое файла

Что-то вроде FLAGS+=rдобавит r к FLAGS. Следовательно, для modify -r -lFLAGS будет rl. Вы должны использовать одну переменную для каждой опции (FLAG_r).

Сравнение "$2" -eq 0будет работать только в том случае, если скрипт получит два имени каталога, второе из которых будет 0. Лучшее сравнение было бы "$2" = "".

0
08.07.2020, 12:58
1 ответ

tail -f печатает последние 10 строк файла. Как только он достигает конца файла, он ждет и печатает все, что будет добавлено позже. Это принципf следования за ростом файла.

Если вы хотите всегда «печатать последние 10 строк файла», это -неправильно определено, так как это зависит от того, когда выполняется проверка. Если есть программа, которая печатает по одной строке за раз, и каждый раз tailпечатает ее немедленно,tail— это , печатающая последние 10 строк файла в любое время.

Если вы хотите периодически показывать несколько последних строк файла, но пропускать строки при быстром росте, вам нужен другой подход, чем следующий _. Например, вызовите tailв цикле. Не используйте -f, так как на самом деле вы не хотите отслеживать файл.

while sleep 1; do tail text.txt; done

Если вы хотите, чтобы последние несколько строк оставались видимыми на экране, но скрывали старые строки, удобна утилита watch.

watch tail text.txt
2
18.03.2021, 23:21

Теги

Похожие вопросы