хвіст -f, але спочатку всмоктується вміст файлу (aka `cat -f`)


9

Мені потрібно показати цілий файл, перш ніж відстежувати його для нових змін, а не лише останні 10 рядків (так, я знаю, що це концептуально не хвостик ). Іншими словами, щось подібне cat -fбуло б зробити, якби воно колись існувало. Чоловік Хвоста не дає мені ніяких ідей. Єдиний варіант, який я зараз бачу, - це якось поєднати кішку з усіма, крім останніх 10 рядків, і хвіст -f .

Будь-які підказки, будь ласка?


3
cat $f && tail -n0 -f $fприходить в голову, і перевірка чоловічої сторінки, на яку вона схожа, tail -c0 -f $fможе також робити те, що ви хочете (і краще, тому що це не створює перегоновий стан між двома процесами, де дані, які можна записати, можна ігнорувати). Зараз я не маю доступу до системи Linux, але чи робите хтось із них, що ви хочете?
CVn

Це корисно, і я просто додав таку функцію до мови програмування: "хвостовий потік", який може читати файл, як правило, починаючи з кінця до кінця, а потім переходить у режим "хвіст -f" наприкінці, а також може помітити, що файл було замінено на коротший або усічений і дотримуйтесь цього. Це вам потрібно, щоб можна було робити такі речі, як обробка існуючих журналів (наздогнати відставання), а потім розпочати обробку нових записів.
Каз

Відповіді:


14

Ось один із способів зробити це:

tail -f -n+0 /var/log/messages

Здається, немає різниці між a +0і a +1, тому це було б рівнозначно:

tail -f -n+1 /var/log/messages

2
Відповідна частина довідкової сторінки (збережіть людей, набравши текст) ... -n, --lines = K виведіть останні K рядки замість останніх 10; або використовуйте -n + K для виведення ліній, починаючи з Kth
дементованого їжака
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.