Je možné použít wc k počítání znaků každého řádku místo celkového počtu znaků?
např.
echo -e foo\nbar\nbazz | grep -i ba
vrátí:
bar
bazz
Proč se tedy echo -e foo\nbar\nbazz | grep ba | wc -m
vrátit seznam délek těchto slov? (3 a 4)
Návrhy?
P.S.:proč se posuny řádku počítají pomocí wc -m ? wc -l počítá nové řádky, tak proč by měl wc -m počítat je také?
Přijatá odpověď:
wc počítá přes celý soubor;
Můžete použít awk zpracovat řádek po řádku (nepočítaje oddělovač řádku):
echo -e "foonbarnbazzn" | grep ba | awk '{print length}'
nebo jako awk je většinou nadmnožinou grep :
echo -e "foonbarnbazzn" | awk '/ba/ {print length}'
(všimněte si, že některé awk implementace hlásí počet bajtů (jako wc -c ) na rozdíl od počtu znaků (např. wc -m ) a ostatní budou kromě znaků počítat bajty, které netvoří součást platných znaků (zatímco wc -m by je ve většině implementací ignoroval))