Bash - skrypt

0

Moglby mi ktos podpowiedziec jak mozna napisac skrypt w Bashu, ktory zlicza ilosc ilosc liter w danym wierszu, wejscie:
c
po co ci ten skrypt
bo mi sie nudzi i tyleczke

wyjscie:
2
1

1

Trochę długi ten pipe wyszedł, ale zawsze coś:

Najpierw co w tym pliku jest:

$ cat data
po co ci ten skrypt
bo mi sie nudzi i tyleczke

No to szukamy tych znaków (bonus - zadziała też dla słów):

$ cat data | grep -no 'c'
1:c
1:c
2:c

Liczymy ile tych znaków jest w każdej linii:

$ cat data | grep -no 'c' | uniq -c
      2 1:c
      1 2:c

I poprawiamy format wyjścia:

$ cat data | grep -no 'c' | uniq -c | awk '{print $1}'
2
1

Preferowana przez większość wersja (bez kotów):

$ grep -no 'c' data | uniq -c | awk '{print $1}'
2
1

Jak to przerobić na coś do wywołania w rodzaju ./script data c chyba wiadomo.
Chyba że chodziło o to żeby znak był wczytywany jako pierwszy znak z pliku (dziwny skrypt by to był) - do tego można użyć head -1 data

1 użytkowników online, w tym zalogowanych: 0, gości: 1