Чи менше має таку функцію, як хвіст --follow = name (-F)


41

Команда lessможе бути використана для заміни tailв

tail -f file

щоб надати такі функції, як обробка двійкового виводу та переміщення прокрутки:

less +F file

На +кошти префікс «вид , що тип , який після запуску», а ключ Fпочинається наступний.

Але lessтакож може замінити

tail --follow=name file

що випливає, fileнавіть якщо фактичний файл видаляється або переміщується, як файл журналу, до якого переміщено файл file.log.1, а потім створюється новий файл з тим же ім'ям, що і наступний файл?


1
Ви можете спробувати з less --follow-nameабоless --follow-name +F
— don_crissti

@don_crissti Приємно ... less --follow-name +Fце - не знаю, як я це пропустив - я був майже впевнений, що шукав сторінку людини follow... дивно. Зробіть це відповіддю!
— Volker Siegel

Ну, ще кілька пошук показує , що це вже було запропоновано і відповів тут , так що я залишу його в якості коментаря. Ви завжди можете отримати відповідь.
— don_crissti

@don_crissti Правильно ... за винятком того, що ваша правильна відповідь там не знайдена - --follow-nameописується, але +Fніколи не згадується, і я думаю, що це досить важливо, оскільки це очевидно не широко відомо.
— Volker Siegel

Якщо ви приїхали сюди через пошук Google less follow, ЧИТАТИ ЗАПИТАННЯ. Це вже відповідає, як зробити lessнаступні зміни файлів!
— Hubert Grzeskowiak

Відповіді:


40

Так, lessможе слідувати ім'я файлу

Ця функція має досить незрозумілий синтаксис:

less --follow-name +F file.log

Що менше, --follow-nameто відрізняється від tailваріанту --follow=name.
Він не змушує lessслідкувати за файлом, замість цього він змінює поведінку командного ключа Fвсередині менше, яке слід виконувати на основі імені файлу, а не дескриптора файлу.

Крім того, немає нормальної опції для запуску lessв наступному режимі.
Але ви можете використовувати командний рядок, щоб надати натискання клавіш після запуску, встановивши їх префіксом +.
Поєднання параметра модифікатора з +F, lessфактично, розпочнеться в (модифікованому) режимі слідування.

Використовуйте +Fокремо для еквіваленту звичайної tail -f:

less +F file.log

Я підозрюю, що якщо ви будете слідувати нескінченному потоку з меншим, це врешті-решт вичерпає вашу пам'ять, оскільки на відміну від хвоста -f, об'єм пам'яті, що використовується, не обмежується обмеженням прокрутки терміналу (якщо тільки межа прокрутки терміналу також не є нескінченною). менше + F має зберегти всю історію прокрутки, і не може покладатися на перезавантаження фрагментів з файлу на жорсткому диску.
— CMCDragonkai

@CMCDragonkai Цікавий момент. lessмає параметри для управління розміром буфера, що використовується для файлу ( -bі -B), мені не очевидно, чи обмежений розмір за замовчуванням.
— Волкер Зігель

На сторінці "man" -Bйдеться про те, що "За замовчуванням, коли дані зчитуються з труби, буфери розподіляються автоматично за необхідності. Якщо велика кількість даних зчитується з труби, це може спричинити виділення великої кількості пам'яті. -B варіант вимикає це автоматичне розподілення буферів для труб, так що для труби використовується лише 64 К (або кількість місця, визначене параметром -b). " Отже, це означає, що при зчитуванні з нескінченної труби нескінченна пам'ять виділяється за замовчуванням, але якщо при читанні з такого файлу, як файл журналу, за замовчуванням використовується 64 K фрагменти.
— CMCDragonkai

4

У Fedora принаймні менше є опція + F, яка слідкує за вмістом файлу так само, як це робить хвіст -f ..

Оновіть, спробуйте натиснути F менше, щоб увімкнути режим переходу


Ти впевнений? Мої менш має суперечливий варіант з таким же ім'ям, -F: Людина сторінка менше говорить: -F or --quit-if-one-screen. Яка у lessвас версія ? Шахта каже less 458з можливістю -V.
— Волкер Зігель


Дуже цікаво, дякую за посилання! Це, здається, не є гну менше. Повний перший рядок less -Vє less 458 (GNU regular expressions). Будь ласка, дайте мені свою версію.
— Volker Siegel

Так, я впевнений, але голосувати мене вперед і вниз потрібно, обмінявшись stackexchange, потрібно поділитися коханням
— user1529413

1
Просто щоб бути впевненим, ти думав, що я проголосував за тебе: Ні, я виступав за тебе.
— Волкер Зігель
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.