Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

posted 2014-12-14 17:31:17 +0100

BTW: V demo testu nebylo nutné použít ani substr ani length ani awk, bylo to pouze jedno z možných řešení, které se rozšířilo. Existují ale minimálně 2 způsoby, jak to zařídit bez použití awk, a které se používaly během semestru/výuky.

awk má tolik příkazů, že se je není možné naučit nazpaměť, pokud to člověk nepoužívá denně. Je potřeba znát způsob, jak se awk používá, jak ho můžu použít a kdy se mi hodí. Stejně tak, jako se find nehodí na výpis souborů v zadaném adresáři, tak se awk také nehodí na všechno. Jinými slovy, "pokud jde něco udělat (pro mě) snáz, základními příkazy, které ovládám, nebudu vytahovat kanón na vrabce, když nevím, kam se strká do kanónu koule".

Pokud je mi známo, tak žádný příklad nemá napsáno: "zpracujte v awk". Pokud ho někdo nechce používat, nemusí, řešení není nikdy jenom jedno. Pokud chceš použít awk, v manuálu najdeš co potřenuješ. Doporučuji pročíst, alespoň zběžně, co se tam dá najít a pak když už to chci použít si vyhledám danou syntaxi/použití. A ano, existují funkce jako substr, length nebo třeba (g)sub, které se dají pěkně využít, ale pozor ať ti to spíš nezamotají.

Abych to shrnul, pokud chci používat awk, je potřeba vědět, že se to píše nějak takhle awk 'podmínka {akce}' , že existuje něco jako BEGIN a END, se píší středníky (nebo nové řádky) mezi jednotlivé příkazy, že se proměnné a řetězce používají podobně jako v céčku, že můžu jednotlivé pole na řádce adresovat pomocí $ a že existují nějaké vnitřní proměnné FS, OFS, RS, ORS, NF, NR, ... které mi mohou ulehčit spoustu práce (nebo také přidělat), co dělá print a printf Běžné kontrukce se najdou na cvičeních a v přednáškách.

Malá poznámka nakonec: pozor na rozdíly mezi awk, nawk a gawk.

BTW: V demo testu nebylo nutné použít ani substr ani length ani awk, bylo to pouze jedno z možných řešení, které se rozšířilo. Existují ale minimálně 2 způsoby, jak to zařídit bez použití awk, a které se používaly během semestru/výuky.

awk má tolik příkazů, že se je není možné naučit nazpaměť, pokud to člověk nepoužívá denně. Je potřeba znát způsob, jak se awk používá, jak ho můžu použít a kdy se mi hodí. Stejně tak, jako se find nehodí na výpis souborů v zadaném adresáři, tak se awk také nehodí na všechno. Jinými slovy, "pokud jde něco udělat (pro mě) snáz, základními příkazy, které ovládám, nebudu vytahovat kanón na vrabce, když nevím, kam se strká do kanónu koule".

Pokud je mi známo, tak žádný příklad nemá napsáno: "zpracujte v awk". Pokud ho někdo nechce používat, nemusí, řešení není nikdy jenom jedno. Pokud chceš použít awk, v manuálu najdeš co potřenuješ. Doporučuji pročíst, alespoň zběžně, co se tam dá najít a pak když už to chci použít si vyhledám danou syntaxi/použití. A ano, existují funkce jako substr, length nebo třeba (g)sub, které se dají pěkně využít, ale pozor ať ti to spíš nezamotají.

Abych to shrnul, pokud chci používat awk, je potřeba vědět, že se to píše nějak takhle awk 'podmínka {akce}' , že existuje něco jako BEGIN a END, se píší středníky (nebo nové řádky) mezi jednotlivé příkazy, že se proměnné a řetězce používají podobně jako v céčku, že můžu jednotlivé pole na řádce adresovat pomocí $ a že existují nějaké vnitřní proměnné FS, OFS, RS, ORS, NF, NR, ... které mi mohou ulehčit spoustu práce (nebo také přidělat), přidělat). Taky třeba co dělá print a printf . Běžné kontrukce se najdou na cvičeních a v přednáškách.

Malá poznámka nakonec: pozor na rozdíly mezi awk, nawk a gawk.