answered
            
            
                
        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). 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.