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
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
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