Przykład 1: Wyświetlanie określonych wierszy według ich numerów za pomocą polecenia sed
Polecenie to umożliwia wyświetlanie tylko tych wierszy, których numery są jawnie określone.
Składnia:
- $ sed -n -e Xp -e Yp NAZWA_PLIKU
W poniższym przykładzie wyświetlane są wiersze 120, 145 i 1050 pliku syslog.
- $ sed -n -e 120p -e 145p -e 1050p /var/log/syslog
W następnym przykładzie możesz wyświetlić zawartość pliku /var/log/cron, zaczynając od wiersza numer 101, a kończąc na wierszu numer 110.
Składnia:
- sed -n M,Np NAZWA_PLIKU
- $ sed -n 101,110p /var/log/cron
Przykład 2: Wyświetlanie pierwszych N wierszy pliku za pomocą polecenia head
W tym przykładzie wyświetlane są pierwsze 15 wierszy pliku /var/log/maillog.
Składnia:
- head -n N NAZWA_PLIKU
- $ head -n 15 /var/log/maillog
Aby wyświetlić pierwsze 10 wierszy dziennika, zamień w przykładzie liczbę 15 na 10.
Przykład 3: Nie wyświetlanie ostatnich N wierszy pliku za pomocą polecenia head
Poniższy przykład pokazuje, jak zignorować ostatnie N wierszy i wyświetlić tylko pozostałe wiersze od początku pliku.
Składnia:
- head -n -N PLIK
Poniższy przykład pokazuje, jak wyświetlić wszystkie wiersze pliku /var/log/secure, z wyjątkiem ostatnich 250.
- $ head -n -250 /var/log/secure
Przykład 4: Wyświetlanie ostatnich N wierszy pliku za pomocą polecenia tail
Składnia: tail -n N PLIK
W tym przykładzie wyświetlane są tylko ostatnie 50 wierszy pliku /var/log/messages. Aby wyświetlić ostatnie 100 wierszy dziennika, zamień 50 na 100.
- $ tail -n 50 /var/log/messages
Przykład 5: Nie wyświetlanie pierwszych N-1 wierszy pliku za pomocą polecenia tail
Dzięki temu poleceniu można zignorować pierwsze N-1 wierszy i wyświetlić tylko pozostałe wiersze.
Składnia:
- tail -n +N PLIK
Poniższy przykład pokazuje, jak zignorować pierwsze 4 wiersze pliku /etc/xinetd.conf, które zawierają tylko komentarze.
- $ tail -n +5 /etc/xinetd.conf
- defaults
- {
- instances = 60
- log_type = SYSLOG authpriv
- log_on_success = HOST PID
- log_on_failure = HOST
- cps = 25 30
- }
- includedir /etc/xinetd.d
Przykład 6: Podgląd powiększającego się dziennika w czasie rzeczywistym za pomocą polecenia tail
Prawdopodobnie jest to jedno z najczęściej używanych przez administratorów systemów poleceń. Aby wyświetlać rosnący plik i wyprowadzać tylko zaktualizowaną zawartość dziennika, użyj polecenia tail -f, jak pokazano poniżej.
W poniższym przykładzie wyświetlana jest w czasie rzeczywistym zawartość pliku /var/log/syslog.
Składnia:
- tail -f NAZWA_PLIKU
- $ tail -f /var/log/syslog
Przykład 7: Wyświetlanie określonych wierszy (wg numeru wiersza) za pomocą poleceń head i tail
Składnia:
- cat plik | tail -n +N | head -n (M-N+1)
Poniższy przykład wyświetla wiersze 101–110 pliku /var/log/anaconda.log.
- $ cat /var/log/anaconda.log | tail -n +101 | head -n 10
Przykład 8: Wyświetlanie wierszy pasujących do wzorca oraz kilku wierszy bezpośrednio za nimi.
Poniższy przykład pokazuje, jak wyświetlić wiersze pasujące do wzorca „Initializing CPU” z pliku /var/log/dmesg, a także 5 wierszy bezpośrednio za nimi.
- # grep "Initializing CPU#1" /var/log/dmesg
- Initializing CPU#1
[Uwaga: to polecenie wyświetla tylko wiersze pasujące do wzorca]
- # grep -A 5 "Initializing CPU#1" dmesg
- Initializing CPU#1
- Calibrating delay using timer specific routine.. 3989.96 BogoMIPS (lpj=1994982)
- CPU: After generic identify, caps: bfebfbff 20100000 00000000 00000000
- CPU: After vendor identify, caps: bfebfbff 20100000 00000000 00000000
- monitor/mwait feature present.
- CPU: L1 I cache: 32K, L1 D cache: 32K
[Uwaga: to polecenie wyświetla pasujący wiersz oraz 5 wierszy po nim]
Do polecenia grep dostępne są również następujące operacje:
Przykład 9: Wyświetlanie określonych bajtów z pliku.
Poniższy przykład pokazuje, jak wyświetlić pierwsze 40 lub ostatnie 30 bajtów pliku.
Wyświetlenie pierwszych 40 bajtów pliku syslog.
- $ head -c40 /var/log/syslog
Wyświetlenie ostatnich 30 bajtów pliku syslog.
- $ tail -c30 /var/log/syslog
Przykład 10: Wyświetlanie skompresowanych logów.
Co pewien czas wszystkie logi systemowe są kompresowane. Możesz rozpakować je „w locie” i przetworzyć wynik za pomocą innego polecenia. Jak to zrobić, pokazano poniżej.
Wyświetlenie pierwszych N wierszy skompresowanego pliku.
- $ zcat file.gz | head -250
Wyświetlenie ostatnich N wierszy skompresowanego pliku.
- $ zcat file.gz | tail -250
Pominięcie ostatnich N wierszy skompresowanego pliku.
- $ zcat file.gz | head -n -250
Pominięcie pierwszych N wierszy skompresowanego pliku.
- $ zcat file.gz | tail -n +250
Wyświetlenie wierszy pasujących do wzorca
- $ zcat file.gz | grep -A2 'error'
Wyświetlenie zestawu wierszy według podanego zakresu ich numerów.
- $ zcat file.gz | sed -n -e 45p -e 52p
