Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
Hrátky z řádky: kombinace procesů

Mordae
Mordae (neregistrovaný)
11. 2. 2008 0:28 Nový

A par dalsich tipu

celé vlákno

Ja s oblibou pouzivam nekolik dalsich utilitek:

`sort` a `sort -n` radi radky na vstupu (textove, numericky), take je moc uzitecna vecicka `sort -u`, ktera odstrani z vysledku duplicity. Jde o ekvivalent `sort | uniq`.

Pokud se vam libi styl vypisu, ktery produkuje `df -h` (sloupce), vezte ze pomoci `column -t` muzete dosahnout podobneho vysledku i u vystupu jinych programu, treba mount. Takze `mount | column -t`.

Pokud mate radi BASH alespon z poloviny jako ja, pak jiste uvitate moznost zpracovat vstup nasledovne:

find -type f | while read file; do
  do-something-file "${file}" || break
done | column -t

Pozor, cely while... done se provadi v subshellu, takze odtud nedostanete promenne.

pht
pht (neregistrovaný)
11. 2. 2008 6:49 Nový

Re: A par dalsich tipu

celé vlákno
jak dostat promenne z while:
while ... do ...; export blah=1; done | ( ... ; if [[ -n $blah ]] ; ... )

mne osobne se ve slozitejsich pripadech hodi << here-documents a process substitution <() a >(). mozna by stalo za to o tom nekdy v serialu pojednat.
Palo
Palo (neregistrovaný)
11. 2. 2008 1:35 Nový

Monitorovanie

celé vlákno
Ja na monitorovanie niektorych veci pouzivam:
while true; do clear; date; ls -l; sleep 3; done

samozrejme namiesto "date;ls -l;" mozete pouzit to co potrebujete. Ak viete ze vystup bude iba narastat mozete namiesto clear pouzit vt100 escape sequence echo '^[[H' pricom ^[ je CTRL-V ESC. Na niektorych terminaloch to bude menej blikat.
uživatel si přál zůstat v anonymitě
11. 2. 2008 1:50 Nový

Re: Monitorovanie

celé vlákno
co takto skusit watch ?
contyk
contyk (neregistrovaný)
11. 2. 2008 1:51 Nový

Re: Monitorovanie

celé vlákno
watch taky není špatné :)
A
A (neregistrovaný)
11. 2. 2008 2:02 Nový

Re: Monitorovanie

celé vlákno
Vlastně náhrada za watch -n 3 "date; ls -l".
Radek Hladik
Radek Hladik (neregistrovaný)
11. 2. 2008 3:52 Nový

Re: Monitorovanie

celé vlákno
A i to date je vlastne zbytecne, watch ho pise do horniho praveho rohu :-)
ehm
ehm (neregistrovaný)
11. 2. 2008 8:14 Nový

Re: Monitorovanie

celé vlákno
njn, Palo asi objevil Ameriku...
uživatel si přál zůstat v anonymitě
11. 2. 2008 11:08 Nový

Re: Monitorovanie

celé vlákno
Nahodou, ten while bez clearu muze byt taky uzitecny, kdyz chce clovek sledovat zmeny v casu a videt i historii, napr.
while true;do echo "$( date ): $( du -m soubor )";sleep 3;done
Pak mam aspon pribliznej prehled, v jakou dobu pribyl jaky kus dat.
Neldor
Neldor (neregistrovaný)
16. 2. 2008 15:35 Nový

Re: Monitorovanie

celé vlákno
Presne tak. Navic watch nemusi byt dostupny vsude, treba na komercnich Unixech nebyva.
sid
sid (neregistrovaný)
11. 2. 2008 2:35 Nový

append >>

celé vlákno
Myslim, ze u povidani o ukladani do souboru je vhodne zminit, ze pouzitim dvojite sipky (>>) se docili appendu na konec souboru. Jisteze v clanku nemuze byt vsechno, ale tohle je hodne uzitecne(i kdyz realizovatelne i jinymi zpusoby)
fifo
fifo (neregistrovaný)
11. 2. 2008 8:22 Nový

fifo

celé vlákno
Mam rad pojmenovane roury, vice viz man mkfifo
dvh
dvh (neregistrovaný)
11. 2. 2008 8:35 Nový

aspon 1 vetou ste mohli spomenut tee

celé vlákno
prikaz | tee log
adam.s
adam.s (neregistrovaný)
11. 2. 2008 9:13 Nový

Help

celé vlákno
Ahoj,
mam dlouhe vedeni, a tak to potrebuji trosku dovysvetlit. Jak cist tento radek?
$ find / -name hledany_soubor.txt 2>&1 > nalezene_soubory.txt | less

1) Stadardni vystup presmeruji do souboru
2) Stadardni chybovy vystup presmeruju do standardniho vystupu
3) (vse je tedy standardni vystup) vschno posilam na stdin programu less...

Je mi jasne, ze to ctu spatne. Kde delam chybu?

diky
Kockinsz
Kockinsz (neregistrovaný)
11. 2. 2008 9:26 Nový

Re: Help

celé vlákno
Je to presmerovani, ne kopie. Po tom co se presmeruje standartni vystup do souboru uz vlastne do standartniho vystupu nic nejde. Pak na standartni vystup(v tu chvili prazdny) presmerujete chybovy. Takze nakonec jde do lessu jen chybovy vystup.
adam.s
adam.s (neregistrovaný)
11. 2. 2008 11:35 Nový

Re: Help

celé vlákno
Proste prehodim vyhybku... :-) Diky, uz chapu.
uživatel si přál zůstat v anonymitě
12. 2. 2008 19:19 Nový

Re: Help

celé vlákno
tu kopiu mozno opat spravit pomocou tee

man tee
Robertek
Robertek (neregistrovaný)
11. 2. 2008 9:27 Nový

Re: Help

celé vlákno
Chybový výstup -> standartní výstup -> soubor -> less

Mě by zajímalo jak je to s tim když chci výstup poslat třeba do souboru (>) ale zároveň na vstup poslat také něco (<), prostě jak do řádku zakomponovat vstup i výstup

Takhle? příkaz < něco > něco
nebo: příkaz > něco < něco

takhle to asi nejde že: něco > příkaz > něco
nebo snad jedině: cat něco | příkaz >> něco
Peter Helcmanovsky aura:56
11. 2. 2008 10:48 Nový

Re: Help

celé vlákno
Oboji je (AFAIK) spravne:
příkaz < něco_vstup > něco_vystup
příkaz > něco_vystup < něco_vstup

I kdyz pouzit stejne "něco" neni moc zdrave.

cat něco | příkaz > něco
by melo dokonce fungovat i se stejnym něco (zpusobi prepsani souboru)

"něco > příkaz > něco" je zapsane moc lidsky, takhle to nejde. :)
xx12
xx12 (neregistrovaný)
11. 2. 2008 17:09 Nový

Re: Help

celé vlákno
ls soubor zadny-soubor 1>xx2 2>&1 1>xx1
Plague
Plague (neregistrovaný)
11. 2. 2008 12:06 Nový

stdin = 0, stdout = 1

celé vlákno
V článku je malý ale podstatný překlep, standardní výstup je očíslován jako 1, standardní vstup pak jako 0. Autor v posledních pár odstavcích psal správně číslo ale podle mě mluvil a myslel na výstup, i když psal "vstup"...
Ondřej Bojar
11. 2. 2008 13:59 Nový

Re: stdin = 0, stdout = 1

celé vlákno
Pardon pardon. To je opravdu můj překlep. V předposledním odstavci má být: ...stdout má "číslo" 1...
Díky za korekci!
Zasílat nově přidané příspěvky e-mailem