Jak zliczyć występowanie określonego znaku w ciągu lub pliku za pomocą BASH
- 2291
- 196
- Pan Jeremiasz Więcek
Poniżej można znaleźć wskazówki, jak policzyć występowanie określonego znaku w pliku lub w ciągu. Le's Say, mamy ciąg „Hello Bash”:
$ String = "hello bash" $ echo $ string hello bash
Za pomocą powłoki bash możemy teraz policzyć występowanie dowolnego znaku. Na przykład liczmy liczba wystąpień postaci L
:
$ echo $ string | sed -e 's/\ (.\)/\ 1 \ n/g '| GREP L | WC -L 2
sed
Polecenie najpierw oddziela dowolny ciąg do wielu linii. Gdzie każda linia zawiera pojedynczy znak:
$ echo $ string | sed -e 's/\ (.\)/\ 1 \ n/g 'h e l l o b a s h
Następnie możemy użyć Grep
polecenie wyszukiwania tylko w poszukiwaniu określonych znaków. W tym przypadku drukujemy tylko znak L
:
$ echo $ string | sed -e 's/\ (.\)/\ 1 \ n/g '| grep l l l
To, co zostało, to użyć WC -L
po prostu policzyć linie:
$ echo $ string | sed -e 's/\ (.\)/\ 1 \ n/g '| GREP L | WC -L 2
Tę samą strategię można również zastosować do zliczenia występowania znaku w pliku. Poniższe polecenie powłoki bash liczy się ile razy charakteru L
pojawia się w pliku /itp./Usługi
:
$ cat /etc /usługi | sed -e 's/\ (.\)/\ 1 \ n/g '| GREP L | WC -L 9298
Jednak kolejną alternatywą dla zliczenia występowania charakteru jest użycie GREP --Tylko dopasowanie
Lub -o
Opcja drukowania tylko pasujących znaków:
$ grep -o l /etc /usługi | WC -L 9298
Powiązane samouczki Linux:
- Jak poprawnie grep do tekstu w skryptach bash
- Zaawansowane podpsy Linux z przykładami
- Wyrażenia regularne Pythona z przykładami
- Advanced Bash Regex z przykładami
- Mastering Bash Script Loops
- Skrypt bash: Hello World Przykład
- Bash Regexps dla początkujących z przykładami
- Jak znaleźć ciąg lub tekst w pliku w Linux
- Przydatne przykłady i sztuczki
- Znajdź wszystkie pliki zawierające określony tekst