Primer 1: Ispis određenih redova po njihovim brojevima pomoću komande sed
Komanda omogućava pregled samo potrebnih redova pod određenim brojevima, koji su eksplicitno navedeni.
Sintaksa:
- $ sed -n -e Xp -e Yp FILENAME
U primeru ispod ispisuju se redovi 120, 145, 1050 fajla syslog.
- $ sed -n -e 120p -e 145p -e 1050p /var/log/syslog
U sledećem primeru možete pregledati sadržaj fajla var/log/cron, počevši od reda broj 101, završavajući redom broj 110.
Sintaksa:
- sed -n M,Np FILENAME
- $ sed -n 101,110p /var/log/cron
Primer 2: Ispis prvih N redova fajla pomoću komande head
U ovom primeru ispisuju se prvih 15 redova fajla /var/log/maillog.
Sintaksa:
- head -n N FILENAME
- $ head -n 15 /var/log/maillog
Da biste ispisali prvih 10 redova dnevnika, zamenite 15 sa 10 u primeru.
Primer 3: Ne ispisivati poslednjih N redova fajla pomoću komande head
U ovom primeru je prikazano kako ignorisati poslednjih N redova i prikazati samo preostale redove počevši od početka fajla.
Синтаксис:
- head -n -N FILENAME
Пример показује како се могу извести све линије фајла /var/log/secure, осим последњих 250.
- $ head -n -250 /var/log/secure
Пример 4: Извођење последњих N линија фајла помоћу команде tail
Синтаксис: tail -n N FILENAME
У овом примеру изводе се само последње 50 линија фајла /var/log/messages. Да бисте извели на екран последњих 100 линија лога, промените 50 на 100.
- $ tail -n 50 /var/log/messages
Пример 5: Не извођење првих N-1 линија фајла помоћу команде tail
Помоћу ове команде можете игнорисати првих N-1 линија и приказати само преостале линије.
Синтаксис:
- tail -n +N FILENAME
У овом примеру је приказано како се игноришу прве 4 линије фајла /etc/xinetd.conf, који садржи само коментаре.
- $ 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
Пример 6: Преглед растућег лога у реалном времену помоћу команде tail
Verovatno je ovo jedna od najčešće korišćenih komandi od strane sistemskih administratora. Za pregled uvećavajuće datoteke i ispis samo ažuriranog sadržaja dnevnika, koristite komandu tail -f kako je prikazano u nastavku.
U sledećem primeru prikazuje se u realnom vremenu sadržaj datoteke /var/log/syslog.
Sintaksa:
- tail -f FILENAME
- $ tail -f /var/log/syslog
Primer 7: Ispis određenih redova (po broju reda) pomoću komandi head i tail
Sintaksa:
- cat file | tail -n +N | head -n (M-N+1)
U donjem primeru ispisuju se redovi 101 – 110 datoteke /var/log/anaconda.log
- $ cat /var/log/anaconda.log | tail -n +101 | head -n 10
Primer 8: Ispis redova koji se poklapaju sa šablonom, kao i nekoliko redova koji odmah slede nakon onih koji se poklapaju.
U sledećem primeru prikazano je kako ispisati redove koji se poklapaju sa šablonom „Initializing CPU“ iz datoteke /var/log/dmesg, kao i 5 redova koji odmah slede nakon njih.
- # grep "Initializing CPU#1" /var/log/dmesg
- Initializing CPU#1
[Napomena: ova komanda ispisuje samo redove koji se poklapaju sa šablonom]
- # 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
[Napomena: ova komanda izlazi sa podudarnom linijom i 5 linija nakon nje]
Uz komandu grep dostupne su i sledeće operacije:
Primer 9: Izlaz određenih bajtova iz fajla.
U sledećem primeru prikazano je kako izvesti ili prvih 40 ili poslednjih 30 bajtova fajla.
Izlaz prvih 40 bajtova fajla syslog.
- $ head -c40 /var/log/syslog
Izlaz poslednjih 30 bajtova fajla syslog.
- $ tail -c30 /var/log/syslog
Primer 10: Pregled kompresovanih logova.
Nakon određenog vremenskog perioda svi sistemski logovi se kompresuju. Možete ih dekomprimovati „u letu“ i obraditi rezultat pomoću druge komande. Kako to učiniti prikazano je u nastavku.
Izlaz prvih N linija kompresovanog fajla.
- $ zcat file.gz | head -250
Prikaz poslednjih N redova kompresovanog fajla.
- $ zcat file.gz | tail -250
Izostavljanje poslednjih N redova kompresovanog fajla.
- $ zcat file.gz | head -n -250
Izostavljanje prvih N redova kompresovanog fajla.
- $ zcat file.gz | tail -n +250
Pregled redova koji odgovaraju šablonu
- $ zcat file.gz | grep -A2 'error'
Pregled skupa redova po navedenom opsegu njihovih brojeva.
- $ zcat file.gz | sed -n -e 45p -e 52p
