Portál AbcLinuxu, 31. října 2025 06:19
 10.2.2011 00:12
pavlix             | skóre: 54
             | blog: pavlix
        10.2.2011 00:12
pavlix             | skóre: 54
             | blog: pavlix
            
        vězte, že v rámci optimalizace by takový příkaz bylo velmi pravděpodobně možné přepsat pouze do AWKu.A kdyby to stále ještě dřelo, tak perl to zachrání :).
přece jen perl byl vytvořen jako náhraa AWKu ...
 10.2.2011 10:31
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        10.2.2011 10:31
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
         Perl je sice inspirovanej AWKem (v některých směrech), ale není to jen nástroj pro zpracování textu. Jasně, i s AWKem lze provádět ledacos, ale nedá se to srovnávat.
 Perl je sice inspirovanej AWKem (v některých směrech), ale není to jen nástroj pro zpracování textu. Jasně, i s AWKem lze provádět ledacos, ale nedá se to srovnávat.
             13.2.2011 11:06
pavlix             | skóre: 54
             | blog: pavlix
        13.2.2011 11:06
pavlix             | skóre: 54
             | blog: pavlix
            
        Ano. Kdysi jsem se snažil používat pro zpracování textu awk, ale pak jsem dal přednost perlu (znalosti perlu se hodí i jinde; syntaxe obou jazyků je zvláštní, ale perl mi prostě vyhovuje víc). Díky za článek.Právě přecházím :).
 13.2.2011 11:05
pavlix             | skóre: 54
             | blog: pavlix
        13.2.2011 11:05
pavlix             | skóre: 54
             | blog: pavlix
            
        
$ time dmesg | awk '/CPU0/ { print $4 }'
real	0m0.016s
user	0m0.016s
sys	0m0.008s
$ time dmesg | grep CPU0 | cut -d' ' -f7
real	0m0.011s
user	0m0.012s
sys	0m0.004s
ke zminenemu perleni: to zni zajimave... porovnani napriklad python, perl awk a sed/cut/grep/atd. pro zpracovani textu... by mozna opravdu zaujalo vice lidi, co myslis Davide  
             13.2.2011 23:52
pavlix             | skóre: 54
             | blog: pavlix
        13.2.2011 23:52
pavlix             | skóre: 54
             | blog: pavlix
            
        Já nevím, mně připadá celkem zbytečné se učit X, když máme jiné jazyky, např. Y, které jsou jednodušší, přehlednější a tak celkově prostě lepší.Je mi líto, ale za X a Y jde dosadit naprosto cokoli, kde X i Y na daný úkol stačí. Dokonce ani ta přehlednost v mnoha případech neplatí, dobře napsaná sada pravidel v Perlu může být daleko přehlednější. Divné, že to říkám já, který v Pythonu plynně píšu, ale v Perlu jsem úplný začátečník a hlavní pomůckou při psaní kódu je Google.
 
             ) nestalo.
) nestalo.
            To by se asi nikde jinde (whitespace je asi čestná výjimka :-)) nestalo.
Makefile :-(
 Ale teď jsem to zkusil a VIM mně to zvýrazňuje jako chybu, tak chytrý to pythonu asi nebude, alespoň na to míchání tabu a mezer je `python -tt ...', jenže to neřeší všechno.
 Ale teď jsem to zkusil a VIM mně to zvýrazňuje jako chybu, tak chytrý to pythonu asi nebude, alespoň na to míchání tabu a mezer je `python -tt ...', jenže to neřeší všechno.
             
             16.2.2011 19:59
pavlix             | skóre: 54
             | blog: pavlix
        16.2.2011 19:59
pavlix             | skóre: 54
             | blog: pavlix
            
        Na toho chudáka s notepadem a druhého s textareou přece musíme brát ohleJaký je mezi nimi rozdíl?
Někdo dvěma mezerami, někdo čtyřmi, někdo tabulátorem.Python umožňuje odsazovat v podstatě jakýmkoliv počtem bílých znaků, jenom je potřeba, aby bylo v celém souboru jednotné. Jinak to může dělat divné věci.
To jen fundamentalisté vykřikují, že existuje jeden Jediný Správný Způsob a všechno ostatní je špatně.Pokud je určitý způsob odsazování součástí syntaxe jazyka, tak je správný ten a jiný ne. V C++ si taky nemůžu říct, že se mi nelíbí složené závorky a místo nich chci psát třeba špičaté, protože se mi víc líbí.
Problém s Pythonem je to samé, akorát výsledek nejen že odporuje stylistickým konvencím (nevypadá to hezky), ale navíc ani nefunguje správně.
Pro vás je to možná "to samé, akorát…", pro mne je to naprosto zásadní rozdíl.
Pokud je určitý způsob odsazování součástí syntaxe jazyka, tak je správný ten a jiný ne.
Jistě. A já tvrdím, že formátování whitespace by nemělo být syntakticky významné.
kill $(ps -Af | awk '$8 ~ /nspluginwrapper/ { print $2 }')
Na složitější ale také raději perlím.
             13.2.2011 19:48
Jendа             | skóre: 78
             | blog: Jenda
             | JO70FB
        13.2.2011 19:48
Jendа             | skóre: 78
             | blog: Jenda
             | JO70FB
        killall nspluginwrapper?
             13.2.2011 23:54
pavlix             | skóre: 54
             | blog: pavlix
        13.2.2011 23:54
pavlix             | skóre: 54
             | blog: pavlix
            
         13.2.2011 11:04
pavlix             | skóre: 54
             | blog: pavlix
        13.2.2011 11:04
pavlix             | skóre: 54
             | blog: pavlix
            
        AWK je verzatilní dost. :)To jsem poznal, jak je verzatilní. Proto po zkušenostech přepisuju generátor webu do perlu.
Nejlepší je asi GNU AWK varianta.Bez některých GNU rozšíření se s tím nedá pořádně pracovat.
'\''
jak pouzit jednoduchou uvozovku uvnitr awkujak vložit jednoduchou uvozovku do textu uvozeného jednoduchými uvozovkami
tak ji staci napsat taktotak to nejde a je potřeba text rozdělit a vložit ji mezi jeho části
'aaaa'\''bbbb' # "aaaa'bbbb"
Ted uz zbyva jen vysvetlit nam neznalym, co to jsou ty jednoduche uvozovky (a dvojite uvozovky). Ja znam "jen" uvozovky a apostrofy.
DejvTen rozdíl je spíš sémantický. Unicode má sice tři různé znaky (U+0027 apostrophe, U+2018 left single quotation mark, U+2019 right single quotation mark), ale běžně se ale používá jen jeden (ten původní z ASCII). U programovacích jazyků včetně Bourne shellu je to o to zamotanější, že sémanticky jde sice o jednoduché uvozovky, ale pro otevírací i uzavírací se používá stejný znak, a to U+0027. A aby byl zmatek dokonalý, v seznamu unicode znaků se pro apostrof doporučuje používat U+2019 (right single quotation mark). :-)
U dvojitých uvozovek je to pak ještě komplikováno tím, že různé jazyky používají různé verze uvozovek (jako šestka/devítka, normálně/převráceně, dole/nahoře) a jejich kombinace - viz znaky U+201A až U+201F.
Zdravim,
v prvom rade velmi pekne dakujem za tento clanok, ako aj za vsetky predchadzajuce. Kazdy mi nieco dal, co je skvele.
Si pamatam, ked som spatril prirucku awk-u po prvykrat, tak som to nechal na dalsi vikend, ked budem mat viac casu. Uz ubehlo tych vikendov doteraz. Kazdopadne, tento clanok ma nakopol a som rad. Takze zacinam radsi uz dneska a cez vikend uz daco hadam vypotim zo seba.
pepe@PC-Pepe:~$ dmesg | grep CPU0 | cut -d' ' -f2
7581.955546]
7581.980078]
9400.047266]
9400.074458]
9566.345718]
9566.373324]
CPU0
CPU0
pepe@PC-Pepe:~$ dmesg | awk '/CPU0/ { print $2 }'
0.000145]
0.077124]
0.508710]
46.174659]
46.199292]
57.310763]
57.348874]
7581.955546]
7581.980078]
9400.047266]
9400.074458]
9566.345718]
9566.373324]
CPU0
CPU0
pepe@PC-Pepe:~$ 
hi :)
            dmesg | grep CPU0 | tr -s ' ' | cut -d' ' -f2A to iste vieme cez jeden awk
 
            Název vznikl složením prvních písmen příjmení třech hlavních autorů AWKu: Alfred V. Aho, Peter J. Weinberger a Brian W. Kernighan.Vida, ja mel dojem, ze je to jen zkratka pro AWKward... :)
awk '{ if ( NF <= 20 ) {print NR  } }' test.txt
ale chcel by som aby výstup vyzeral takto:
NR : obsah riadku
Takže ako mu mám povedať že za 'NE " : "' ma vypísať celý riadok? Vopred vďaka za usmernenie
             12.2.2011 23:10
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        12.2.2011 23:10
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        print sprintf("%d: %s", NF, $0)
#nebo
print NR ": " $0
            
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.