Portál AbcLinuxu, 13. května 2025 23:21
Řešení dotazu:
Tohle bylo splněno právě při kombinaci shellu a Fortranu nebo shellu a AWK, ale při pokusu o přepsání do Pythonu to bylo porušeno.To se mohlo stát. Porovnání rychlosti AWK a Pythonu jsem nikdy neřešil, ačkoli jsem používal obojí. Rozdíly v rychlosti se mi při rozumném použití neprojevily. AWK je oproti Pythonu značně omezený, tak to porovnání ani nemá moc smysl. Nechal jsem si ho jenom na příkazovou řádku a do jednoduchých shell skriptů.
23,12,"Vlasta",500 24,12,"Adam, Eva",600Vypiš jména a číslo na konci pomocí AWK.
Franta,"Kubrt, Úďa a Markétka",Pepaa taky zdvojenné uvozovky:
Franta,"Kubrt, ""Úďa"" a Markétka",Pepatransponované do řádků:
Franta Kubrt, "Úďa" a Markétka Pepa
Franta,"Kubrt, ""Úďa"" a Markétka",Pepajsou následující tři položky sloupce otočené do řádků:
Franta Kubrt, "Úďa" a Markétka Pepačistě jen pro rozlišení co je „jedna položka záznamu.
Franta,"Kubrt, ""Úďa"" a Markétka",PepaJe opět totéž, jen druhý sloupec má v hodnotě '\n'.
Potom to tedy nejsou CSV soubory podle RFC, a kdoví jestli takový export pak v různých programech při importu neselže. :(Zatím jsem vždy viděl selhávat především import správných RFC.
Výhodou AWK je, že programátora tlačí do formulace takového skriptu, který zvládá rychle. Odměnou je, že se vstup nemusí složitě parsovat.A podmínkou je, že je to úloha vhodná pro AWK.
Preco povazujete bash za plnhodnotny jazyk?Protože je? Pokud se plnohodnotností myslí, že v něm jde programovat to, co v ostatních jazycích (vynechám teorii, která za tím je).
Nechcem tu byt za blba, ale bash (a podobne aj ostatne shelly)Neznalost a hloupost jsou naštěstí dvě různé věci. Ačkoli způsob položení otázky by mohl jisté pochybnosti vyvolat.
povazujem za zastaraleZa zastaralé považuju věci, které jsou plně nahrazené něčím lepším. To v případě shellů není pravda.
tazkopadneNa úlohy, na které se shell tradičně používá, jsou těžkopádné právě ty ostatní jazyky.
neflexibilnePouze pokud s ním řešíš něco, na co není vhodný.
pomaleVěci, které se typicky v shellu řeší, jsou na napsání podstatně rychlejší než v čemkoli jiném a na běh jsou podstatně rychlejší než je potřeba.
nachylne na utoky.Při typickém použití shell běží pod UID uživatele, který mu zadává vstup. Nepředstavuje tak žádné bezpečnostní riziko.
Poznate aj nejake vyhody bashu oproti "normalnym" skriptovacim jazykom ako je dajme tomu python, perl, alebo ruby.Práce s ním je typicky jednodušší a rychlejší, pokud chceš spravovat systém a ne vytvářet programy.
Lebo jedine co ma napada je jednoduchsie praca so subormi a ovela tazkopadnejsia so vsetkym ostatnym.Vzhledem k tomu, že na unixovém systému je naprostá většina věcí dostupná přes soubory, tak je to dost podstatná výhoda. Navíc je v shellu mnohem jednodušší pustit příkaz s nějakými argumenty, přesměrovat jeho výstup, vytáhout zněj to důležité, apod. Seber administrátorovi shell, dej mu místo něj Python a polož mu na stůl knihu o Pythonu a uvidíš :D.
Při typickém použití shell běží pod UID uživatele, který mu zadává vstup. Nepředstavuje tak žádné bezpečnostní riziko.To bych rozhodně netvrdil. Nakoukněte např. do /usr/sbin, /sbin, /etc/init.d ...
Seber administrátorovi shell, dej mu místo něj Python a polož mu na stůl knihu o PythonuNo co, žádný problém...
To bych rozhodně netvrdil.Já bych to teda rozhodně tvrdil.
Nakoukněte např. do /usr/sbin, /sbin, /etc/init.d ...Tam už to znám :).
No co, žádný problém...Abys začal :).
Poznate aj nejake vyhody bashu oproti "normalnym" skriptovacim jazykom ako je dajme tomu python, perl, alebo ruby. Lebo jedine co ma napada je jednoduchsie praca so subormi a ovela tazkopadnejsia so vsetkym ostatnym.Nastav si
irb
(např.) jako login shell a uvidíš sám, jaké má bash výhody.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.