Portál AbcLinuxu, 14. května 2025 01:22

Dotaz: Používání AWK místo C?

26.1.2015 20:45 Darkhunter
Používání AWK místo C?
Přečteno: 1554×
Odpovědět | Admin
Zdravím, mám nějaké programy v C a rád bych si je přepsal do AWK. Existují nějaké tutoriály pro awk, které se věnují tomuto problému?

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.1.2015 21:31 Kit
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkus zagooglit "awk tutorial".
27.1.2015 10:37 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Odpovědět | | Sbalit | Link | Blokovat | Admin

AWK ? proboha proc ?

 

zkus spise python ...  , mozna i ten perl ktery vznikl jako nahrada awku ...

USE="-gnome -kde";turris
27.1.2015 11:22 Ivan
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Chtel jsem taky doporucit Perl ale pak mi to prislo prehnany cpat nekomu programovaci jazyk, ktery ma tak spatnou povest. Kazdopadne program v Perl-u muze na prvni pohled vypadat skoro jako Ccko a kdyz se k tomu prida Eclipse s EPIC pluginem tak to vubec nemusi byt spatna volba.

27.1.2015 12:26 Petr | skóre: 29
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Perl ale pak mi to prislo prehnany cpat nekomu programovaci jazyk, ktery ma tak spatnou povest ???
Josef Kufner avatar 27.1.2015 13:41 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Na Perl zapoměn, ale jinak naprosto souhlasím. Python je dobrá volba, napsat se v tom dá mnohem víc než v AWK.

Jinak je AWK dobré umět, na všelijaké one-linery je velice praktické. Ale na to opravdu stačí projít libovolný tutorial.
Hello world ! Segmentation fault (core dumped)
27.1.2015 14:30 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Používání AWK místo C?
V čem je tedy ten perl tak špatný. Ptám se proto, že cca před 15 lety jsem perlu něco vytvářel, a v té době mě připadal dost příjemný jazyk, včetně dosti velkých knihoven, ale dlouho už neprogramuji aktivně větší projekty.

Z hlediska jazyka jsem se na něj díval vždy z několika základních kritérií:
  • pohodlí jazyka - tedy jak lehce se v něm požadované abstraktní konstrukce dají napsat (kdysi ještě na škole zpracování textu ve FORTRANU jako negativní příklad)
  • bezpečí jazyka - tedy schopnost jazyka chránit před "hloupými chybami" (negativní příklad je C a jeho pointry, tam se chyba neodpouští)
  • rozsah a kvalita knihoven - snížení nízkoúrovňové práce, což má vazbu na pohodlí použití
  • Efektivita - tedy jak mám rychlý výsledek.
Perl mi v ničem nepřipadal vyloženě špatný a na věci s časem běhu do cca 10 vteřin pohodlný.
27.1.2015 15:13 pet
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Perl = write_only_language. Kdysi jsem v něm něco vytvořil, pak jsem to asi za rok potřeboval poupravit, chvíli se to po sobe snažil přečíst, ale nakonec jsem to raději napsal znova - v pythonu. A od té doby už to pohodlně udržuji a rozšiřuji.
27.1.2015 15:38 Ivan
Rozbalit Rozbalit vše Re: Používání AWK místo C?
No to je prave ono. O perlu se rika, ze je to write-only jazyk. Ale proc? Kdyz se vykaslete na implicitni promenne a pouzijete strict mode to vypada jako kazdy jiny jazyk.

Program v Perlu muze mnohem "hustejsi" nez treba neco napsaneho v Jave, ale to muze byt i vyhoda. Zvlast kdyz pracujete s textem.

Navic se v tom kodu vyborne orientovat. Perl sam umi anotovat svoje zdrojaky a kdyz pouziteje neco jako EPIC tak ziskate podobny komfort programovani jako byste psali v Jave.
27.1.2015 16:14 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
Rozbalit Rozbalit vše Re: Používání AWK místo C?

v perlu se da psat jakkoliv , zmnam pripady kdy kod v perlu prakticky nerozeznate od ruby

USE="-gnome -kde";turris
27.1.2015 22:35 hasak
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Perl je skveli, ale musi se dodrzovat typograficka konvence jinak vznika paskvil. Zazil sem programy/scripty, ktere ani za mak nedodrzovali napr. oznaceni poli "@" a stejne fungovali. Takove paskvily nasledne cist a prepracovavat je opravdu pro otrle.
31.1.2015 11:05 tany
Rozbalit Rozbalit vše Re: Používání AWK místo C?
co tu mam v perlu spis vypada jako brainfuck.

31.1.2015 12:22 Kit
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Pogramy v brainfucku bývají delší a neumí toho tolik.
Řešení 1× (mimi.vx)
Josef Kufner avatar 1.2.2015 20:36 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Používání AWK místo C?
A hlavně bývají čitelnější.
Hello world ! Segmentation fault (core dumped)
27.1.2015 22:46 pako
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Perl je jediný interpretovaný jazyk, jehož kód vypadá stejně před gzipem i po něm. ;)
Vykook avatar 3.2.2015 22:23 Vykook | skóre: 23 | blog: Tomas
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Tak to asi píšeš jako prase. Přes rok jsem dělal v Perlu(do tý doby jsem v něm napsal asi tak 10 řádek), byl to poměrně rozsáhlej projekt(milion LOC to mělo určitě, možná víc.) a hlavně dost starej projekt(konec minulého tisíciletí) a bylo to až na pár drobnějších excesů naprosto pohodlně čitelné a přehledné.
Nejde nám o dobro druhých. Nejde nám o bohatství. Jde o čisté opojení mocí.
27.1.2015 15:56 luky
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Na Perl zapoměn, ale jinak naprosto souhlasím. Python je dobrá volba, napsat se v tom dá mnohem víc než v AWK.
Ano, presne tak, staticka instalace pythonu se take vejde do 1MB a proto se tez hodi na pouziti v embedded se 4MB flash.
27.1.2015 22:48 pako
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Pche, awk je super a sed taky. Když už nic jiného, najdete je prakticky všude vč. kde jakého historického Unixu.
28.1.2015 07:49 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Používání AWK místo C?
A před tím to někdo napsal v C, takže to C taky ne?
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
28.1.2015 10:51 victor8 | skóre: 24 | blog: blog | Košice
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Nie, C compiler vsade nenajdes. AWK a sed urcite ano :)

(aj ked je pravda ze na nejakom 5kovom Solarise ani to AWK nebude presne take na aky je clovek zvyknuty z dnesnych GNU cias a to tento argument trosku oslabuje, ale ten POSIXovy zaklad, ten je fakt vsade).
5.2.2015 22:43 odin
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Tento komentar neni reseni. Autor dotazu se nepta na jiny jazyk nebo na nazor na AWK.
27.1.2015 15:18 rich
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Odpovědět | | Sbalit | Link | Blokovat | Admin

Treba tady je pekny http://www.grymoire.com/Unix/Awk.html Jinak si myslim, ze pro cloveka, ktery pracuje denne na *nixu je to temer nepostradatelny nastroj. Nevim co presne ty programky delaji, ale pokud zpracovavaji pouze textova data tak AWK je uplne dostacujici a Python a Perl bych nechal stranou na reseni nejakych komplexnejsich uloh. Navic ja treba radeji pouzivam Tcl/Tk, to ma i okynka... ;-)

Jesus Jimenez avatar 27.1.2015 19:59 Jesus Jimenez | skóre: 29
Rozbalit Rozbalit vše Re: Používání AWK místo C?
no nevim, AWK jsem vzdycky povazoval za zkratku od awkward ;)
Doaenův zákon průtahů: Čím pomaleji pracuješ, tím méně naděláš chyb. -- Murphy
Josef Kufner avatar 27.1.2015 21:12 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Používání AWK místo C?
AWK má výhodu v tom, že je postavené pro filtrování tabulkovitého textu, což je v shellu celkem častý úkol. Ale jakmile jde o cokoliv složitějšího, velmi rychle jde jeho použitelnost do háje. A pak právě přijde vhod Python.
Hello world ! Segmentation fault (core dumped)
28.1.2015 11:59 rich
Rozbalit Rozbalit vše Re: Používání AWK místo C?
AWK má výhodu v tom, že je postavené pro filtrování tabulkovitého textu, což je v shellu celkem častý úkol. Ale jakmile jde o cokoliv složitějšího, velmi rychle jde jeho použitelnost do háje.

pokud zpracovavaji pouze textova data tak AWK je uplne dostacujici a Python a Perl bych nechal stranou na reseni nejakych komplexnejsich uloh

Rikal jsem snad neco jineho?

A pak právě přijde vhod Python.
Neprijde. Pouzivam Tcl/Tk a je uplne dostacujici.

Nicmene otazka je pomerne jasna takze moc nerozumit vykrikum "proboha proc AWK" a podobne.

28.1.2015 16:47 pavele
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Ty výkřiky jsou proto, že se to dělá obvykle přesně naopak.

V AWK si udělám/odzkouším rychle vše, co potřebuji (prototyping), a pak to přepíšu do C, pokud potřebuji větší rychlost.
28.1.2015 17:05 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Většinou je to dost rychlé, proto se ani neobtěžuji to přepisovat do C či Fortranu.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
rADOn avatar 2.2.2015 11:21 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Používání AWK místo C?
To ale plati spis o tom pythonu. Kdyz neco boucham v awku tak je to nejaka primitivni transformace na ktery neni moc co zrychlovat.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
13.2.2015 21:53 mhepp
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na ty Perly se vykasli. AWK je SUPER jazyk. Je sice trochu starsi, Perl vznikl jako nasledovnik AWK. Ale AWK je soucast i busyboxu a je skutecne vsude, i tam, kde neni perl, python, bash...

Ma na dnesni pomery trochu neobvyklou syntaxi, ale pro zpracovani textoveho vstupu je bezkonkurencni. Docela dobrou pomoci muze byt i klasika: man awk.
23.2.2015 12:57 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
Rozbalit Rozbalit vše Re: Používání AWK místo C?

taky COBOL je super jazyk ..

USE="-gnome -kde";turris
23.2.2015 13:11 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Používání AWK místo C?
COBOL má jednu dost podstatnou nevýhodu: Je značně propojen s prostředím operačního systému a to snižuje jeho přenositelnost. AWK tímto netrpí.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Josef Kufner avatar 23.2.2015 21:36 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Trpí. Jen je propojeno s tím systémem, který používáš, tak ti to nepřijde.
Hello world ! Segmentation fault (core dumped)
23.2.2015 21:47 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Byl jsem přesvědčen, že AWK např. ve Windows funguje téměř stejně.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Josef Kufner avatar 23.2.2015 21:50 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Používání AWK místo C?
Však ono Windows nemají k unixu moc daleko.
Hello world ! Segmentation fault (core dumped)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.