Black Friday Black Friday
Black Friday výprodej! Až 80 % extra bodů zdarma! Více informací zde

Diskuze: C shell - cyklus na vymazanie riadku zo súboru

Ostatní jazyky Ostatní programovací jazyky C shell - cyklus na vymazanie riadku zo súboru

Aktivity (1)
Avatar
rosina.jakub
Člen
Avatar
rosina.jakub:25. října 14:22

Ahojte,
pomocou tohto príkazu

last | tr -s " " | cut -d " " -f 1,3 | sort | uniq | cut -d " " -f 1 | uniq -c | tr -s " " | cut -c 2- > output.txt

si prekopírujem všetky riadky do súboru. Súbor vyzerá asi takto:
10 meno
15 meno1
8 meno 2

Potrebujem mať cyklus ktorý mi odstráni riadok na ktorom je to prvé číslo menšie ako n, ktoré si zadávam.
Čiže dostanem číslo 20. Teraz potrebujem na výpise mať iba riadky kde je toto číslo 21 a ďalej. Neviem akým spôsobom asi pomocou grepu, to musím odstraňovať.

Zkusil jsem: Dal som si celý výpis last do súboru. Potom mám cyklus, ktorý mi ide od i=1 do n. A tu mám problém, že chcem si otvoriť súbor a vždy keď nájdem číslo rovné i tak ho vymažem zo súboru.

 
Odpovědět 25. října 14:22
Avatar
Jirka Jr
Člen
Avatar
Odpovídá na rosina.jakub
Jirka Jr:25. října 17:00

s grepem to není moc pohodlné ... pro různá čísla je třeba různé výrazy

dobří lidé internetu doporučují awk .....

awk -F' ' '$1 > 20' /cesta/k/souboru

to ' ' za parametrem -F je mezera, ktera oddeluje sloupce v souboru
$1 znamena prvni sloupec

 
Nahoru Odpovědět 25. října 17:00
Avatar
Jirka Jr
Člen
Avatar
Odpovídá na rosina.jakub
Jirka Jr:25. října 17:10

a ještě poznámka navíc:

klidně můžeš to awk připojit na konec té dlouhé nudle příkazů, protože awk umí číst ze standardního vstupu

last | tr -s " " | cut -d " " -f 1,3 | sort | uniq | cut -d " " -f 1 | uniq -c | tr -s " " | cut -c 2- | awk -F' ' '$1 > 20'
 
Nahoru Odpovědět 25. října 17:10
Avatar
Jirka Jr
Člen
Avatar
Odpovídá na rosina.jakub
Jirka Jr:26. října 18:15

pomohlo?

 
Nahoru Odpovědět 26. října 18:15
Avatar
rosina.jakub
Člen
Avatar
rosina.jakub:26. října 18:50

Nakoniec som to nedal do súboru ale iba do zoznamu a v echo som to vypisoval

 
Nahoru Odpovědět 26. října 18:50
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.