Fórum Root.cz

Hlavní témata => Software => Téma založeno: Jiri Polacek 24. 02. 2016, 14:51:17

Název: cat vs tail -f
Přispěvatel: Jiri Polacek 24. 02. 2016, 14:51:17
Ahoj,

tento prikaz me funguje:

cat /var/log/messages | sed -f mac2client | grep LM02

tento prikaz me nefunguje a nevim proc - nic nevypisuje:

tail -f /var/log/messages | sed -f mac2client | grep LM02

v souboru mac2client mam seznam mac adres a prislusnych hostnames napr:

s/08:60:6e:3b:df:93/LM01/

Poradite me co je pricinou?

Diky
Název: Re:cat vs tail -f
Přispěvatel: Petr Krčmář 24. 02. 2016, 15:01:43
Zatímco cat vysype na výstup celý soubor, tail -f vrací jen to, co bylo za jeho běhu do souboru přidáno. Pokud se do souboru nic nepřidává, tak na výstupu toho tailu nebude nikdy nic. On se hodí ve chvíli, kdy je potřeba třeba hlídat nově příchozí hlášky do logu. Ty staré ale nikdy neukáže.
Název: Re:cat vs tail -f
Přispěvatel: Jiri Polacek 24. 02. 2016, 15:20:16
Ahoj,

diky za odpověď, tomu rozdilu mezi tail -f a cat rozumim

Jedna se mi o to ze pokud dam
tail -f /var/log/messages | sed -f mac2client | grep LM02

nezobrazi se zadny do logu pribyvajici záznamy, nezobrazi se nic, presto ze záznamy do logu pribyvaji

Ještě bych chtěl poznamenat ze tyto varianty bez grepu na konci funguji obe podle ocekavani:

tail -f /var/log/messages | sed -f mac2client
cat /var/log/messages | sed -f mac2client

Tato varianta funguje taky podle ocekavani

cat /var/log/messages | sed -f mac2client | grep LM02

Pouze toto nedela nic

tail -f /var/log/messages | sed -f mac2client | grep LM02

Linux cz01cent01.localdomain 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Diky
Název: Re:cat vs tail -f
Přispěvatel: kukacka 24. 02. 2016, 15:59:34
Pravdepodobne se ti bufferuje ten sed, je to standardni chovani, pokud nevypisuje na terminal. Da se to vypnout, lepe receno nastavovat, nejjednodussi by konkretne v tomto pripade bylo nacpat tu filtraci uz do sedu.
Název: Re:cat vs tail -f
Přispěvatel: Jiri Polacek 24. 02. 2016, 17:34:06
po vypnuti bufferovani je to ok ;-)

tail -f /var/log/messages | sed -uf mac2client | grep LM02

Diky