Próbowałem ogonić dwa pliki za pomocą opcji:
tail -0f file1.log -0f file2.log
W systemie Linux pojawia się błąd „ogon: może przetwarzać tylko jeden plik na raz”.
W systemie AIX widzę błąd jako „nieprawidłowe opcje”.
Działa to dobrze, gdy używam:
tail -f file1 -f file 2
w systemie Linux, ale nie w systemie AIX.
Chcę mieć możliwość dopasowania wielu plików za pomocą -0f
lub -f
w systemie AIX / Linux
multitail
nie jest rozpoznawany w żadnym z tych systemów operacyjnych.
screen
utworzyć dwie różne sesje? Powinieneś być w stanie używać ogona na obu ekranach? Ponadto,tmux
może wykonać pracę, a także, jeśli masz go zainstalowanego.Odpowiedzi:
Co powiesz na:
Lub poprzedzając każdą linię nazwą pliku:
Aby śledzić wszystkie pliki, których nazwa pasuje do wzorca, możesz zaimplementować
tail -f
(który czyta z pliku co sekundę w sposób ciągły) za pomocązsh
skryptu:Następnie, na przykład, aby rekurencyjnie śledzić wszystkie pliki tekstowe w bieżącym katalogu:
źródło
sed
tę&
drogę?tail
wiele plików jest rozszerzanych o wersję GNU tail. W systemie AIX nie masz ogona GNU, więc nie możesz tego zrobić. Zamiast tego możesz użyćmultitail
.Możesz zainstalować multitail zarówno w systemie Linux, jak i AIX.
W systemie AIX możesz pobrać pakiet tutaj .
W Linuksie
multitail
często jest w repozytorium, więc możesz go łatwo zainstalować za pomocą menedżera pakietów dystrybucyjnych:apt-get install multitail
yum install multitail
źródło
multitail -i path/to/file1 -i path/to/file2
Następująca rzecz działa dobrze, aby wyprowadzać rzeczy na standardowe wyjście
Chciałem uzyskać
pipe
dane wyjściowe do innego procesu. W powyższym przypadku część&
była wykonywana przed uruchomieniem w tle, apiped
przetwarzana była tylko druga częśćwięc użyłem
@ Stéphane twoja odpowiedź jest idealna, ale po prostu wspominając o moim przypadku użycia, który ma mały zwrot.
źródło
tail -f file1 file2
nie działa w systemie AIX, w którym tail akceptuje tylko jedną nazwę pliku. Możesz zrobić,(tail -f file1 & tail -f file2) | process
aby przekierować standardowe wyjście obutail
s do potoku doprocess
.W OSX i Linux za pomocą
działa dla mnie świetnie. Kolejną miłą rzeczą jest to, że ma następujące dane wyjściowe:
aby pomóc Ci rozpoznać, z którego wyjścia pochodzi dany dziennik.
źródło
q
aby ukryć nagłówkiDostarczę fragment kodu,
tmux
który może dać ci dwa różne okna, których możesz użyć do ogonienia obu plików jednocześnie:AKTUALIZACJA: Używanie
screen
może również dołączać / odłączać wiele sesji, dzięki czemu można również uruchamiaćtail
wiele razy. Mogę zasugerować zrobienie tego:screen -s Tail_Server1.log
Następnie chcesz przytrzymać,
CTRL+A+D
aby odłączyć bez zabijania sesji, a następnie:Oba będą działały dwa osobno
screens
, odniosę się doscreen --help
tego, abyś mógł dostosować go do tego, jak chcesz, aby oba ekrany działały na twoimterminal
.źródło
Poniższe prace dla mnie w SunOS 5.10.
Oba ogony będą działać w tle. Zmiany w plikach zostaną wyrzucone na standardowe wyjście. Ponadto możesz uruchomić dowolne polecenie pomiędzy, naciskając klawisz Enter.
źródło
Użyj następującego oneliner:
while true; do cat /path/to/numerous/folders/and/files/*/*.txt | grep "some filter" | tail -n 10; sleep 1; done
Co 1 sekundę skrypt wypisze 10 ostatnich wierszy filtrowanego strumienia.
Aby przerwać pętlę, naciśnij CtrlC.
źródło