Chciałbym pewnego tail -f
rodzaju zachowanie, które odczytuje cały plik, a następnie kontynuuje śledzenie tego, jak jest napisane.
ROZWIĄZANIE
W oparciu o odpowiedź, którą zaakceptowałem, działa to: tail -f -n +1 {filename}
Dlaczego to działa:-f
opcja nadal „follow” plik i wyjściowe nowe linie są one zapisywane w pliku. W -n +1
przesyła zlecenie tail
rozpocząć czytanie pliku z pierwszej linii. Korzystanie -n -10
rozpoczynałoby się od ostatnich dziesięciu wierszy pliku.
tail -f -n 10000000000000000000
prawdopodobnie pokaże wszystkie linie, prawda? (może 10000000000000000000 to trochę dużo: =))more fileName
że zrobiłbym taktail -f -n 100...
będzie wymagał wstępnego odczytu pliku w celu ustalenia liczby linii, chyba że jest wystarczająco inteligentny, aby obliczyć górną granicę liczby wierszy na podstawie rozmiaru pliku.Odpowiedzi:
Posługiwać się
Użycie
man tail
daje więcej szczegółów, poniżej podano odpowiedni fragment.źródło
man tail
(i czytając), jak mówi odpowiedź, lub wyszukaj online „stronę ogona” i przeczytaj jedną z nich.tail
działa, zaczynając od pozycji w pliku, odczytuje (i wyświetla) do końca, a następnie monitoruje wzrost rozmiaru pliku. Gdy rozmiar pliku wzrasta,tail
odczytuje i wyświetla od poprzedniej pozycji EOF do nowego końca pliku.tail -50 {filename}
wcześniej, ale nie udało mi się połączyć tych dwóch.Spróbuj tego:
gdzie
{filename}
jest plik, który chcesz mieć na oku. Spowoduje to ciągłe monitorowanie polecenia pod kątem zmian i wysyłanie zmian do standardowego wyjścia. To całkiem przydatne.źródło
watch tail -n +1 {filename}
watch
jest naprawdę użytecznym narzędziem, ale do oglądania zmieniającego się wyniku polecenia, ale do oglądania końca dołączanego pliku jest o wiele lepiej użyćtail -f
. ---watch tail {filename}
ponownie otworzy i ponownie przeczyta koniec pliku co dwie sekundy. Z drugiej stronytail -f
obserwuje wzrost pliku i po wykryciu natychmiast odczytuje tylko dołączoną część.tailf -f
jest znacznie bardziej wydajny, a reakcja jest znacznie szybsza. Ponadto będzie stale wyświetlać zawartość pliku od momentu rozpoczęcia. ---watch
nadpisuje dane wyjściowe co dwie sekundy.