Jak zliczyć występowanie określonego znaku w ciągu lub pliku za pomocą BASH

Jak zliczyć występowanie określonego znaku w ciągu lub pliku za pomocą BASH

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