Fórum Root.cz

Hlavní témata => Software => Téma založeno: mikesznovu 18. 06. 2024, 19:04:51

Název: Příkaz wc na nauzavřený výstup
Přispěvatel: mikesznovu 18. 06. 2024, 19:04:51
To se netýká toalet. Ale nevím si rady , jak poslat příkaz wc na nějak výstup  příkazu(například jako tcpdump, inotify, ale plus který zpočátku vychrlí množství naakumulovanych dat ) , který neukončí svůj výstup (jako journalctl bez parametrů nebo tail soubor.txt --follow) a ten příkaz ani nemá volbu  ,kterou tohle chci docílit(aby nevypisoval nepřetržitě, ale jen vypsal jen logy doteď a a skončil).

(Mohu si dát ohejbák příkaz>tmp.txt ;Ctrl+C ; wc tmp.txt ; rm tmp.txt)

Jde např. něco jako
 ( příkaz &  sleep 3 ; >&-) |wc
?


Nejde mi primárně o ukončení přikazu po určité době (byť u tcpdump nebo inotify bych to ocenil),   

Ale o ukončení příkazu , potom, co bouřlivě vypíše "veškerá předchozí data" a pak už jen sporadicky vypíše jen při nějaké  události(ta fáze mě už nezajímá). Tak jsem tam dal rezervu 3s.
Název: Re:wc na nauzavřený výstup
Přispěvatel: bmn 18. 06. 2024, 19:34:59
Příkazem timeout se dá ukončit příkaz po uvedené době a na potlačení chyby se za něj dá něco co nic nevypíše. Třeba takhle

$ (timeout 3 yes; echo -n) | wc
Název: Re:Příkaz na mixovaný výstup+vstup
Přispěvatel: mikesznovu 11. 07. 2024, 17:14:58
Tak to je bomba, o tom jsem nevěděl


Btw existuje nějaký modifikátor jako v php @funkce nebo nohup , co by právě
zahodilo návratový kód příkazu. ? Korektně:nahradilo 0.
(Syntaktický cukr toho "echo - ;")

A potom , existuje něco pro  zamezení smíchání vstupu (vložení ze schránky) a výstupu?
Typicky   napíšu sed -E 's%  +% %g' , dám.entr a pak vložím z schránkě a ctrl+d. Očekávám že se v-sype celá schránka a potom se vy-sype celý výstup .
Celý znamená nepromíchaný s zadaným textem., což právě se stane. A dokonxlce na každé platformě jinak
jak.to souvisí s wc? pokud použuju. Sed 's...c ,|wc enter, shift+ins,ctrl+d tak krásně (a zlogiky věci wc) se výstuo vypíše na závěr

Takže neexistuje něco jako
Sed 's...' |  bufferize , Enter, shift+ins,ctr+d

?


Je to problém toho, že vkládaný text má tu drzost se zobrazovat.  ;D a. Že zpracování je nějak bufferované.
Něco bez okliky vložení do dočasného souboru
Název: Re:Příkaz wc na nauzavřený výstup
Přispěvatel: Ondrej Nemecek 12. 07. 2024, 11:41:01
Stačí výstup přesměrovat do souboru nebo do less například.