Wyszukiwanie w witrynie

Jak policzyć wystąpienia słów w pliku tekstowym


Procesory tekstu z graficznym interfejsem użytkownika i aplikacje do robienia notatek posiadają wskaźniki informacyjne lub szczegółowe dotyczące szczegółów dokumentu, takie jak liczba stron, słowa i znaki, lista nagłówków w edytorach tekstu, spis treści w niektórych edytorach przecen itp. a znalezienie wystąpienia słów lub wyrażeń jest tak proste, jak naciśnięcie Ctrl + F i wpisując znaki, które chcesz wyszukać.

GUI wszystko ułatwia, ale co się stanie, jeśli możesz pracować tylko z wiersza poleceń i chcesz sprawdzić, ile razy słowo, fraza lub znak występuje w pliku tekstowym? Jest to prawie tak proste, jak w przypadku korzystania z GUI, pod warunkiem, że masz odpowiednie polecenie. Zaraz ci opowiem, jak to się robi.

Załóżmy, że masz plik example.txt zawierający zdania:

Praesent in mauris eu tortor porttitor accumsan. Mauris suscipit, ligula sit amet pharetra semper, 
nibh ante cursus purus, vel sagittis velit mauris vel metus enean fermentum risus.

Możesz użyć polecenia grep, aby policzyć, ile razy "mauris" pojawia się w pliku, jak pokazano.

grep -o -i mauris example.txt | wc -l

Użycie samego grep -c spowoduje zliczenie liczby wierszy zawierających pasujące słowo zamiast całkowitej liczby dopasowań. Opcja -o nakazuje grepowi wypisanie każdego dopasowania w unikalnej linii, a następnie wc -l nakazuje wc policzyć liczbę linii. W ten sposób obliczana jest całkowita liczba pasujących słów.

Innym podejściem jest przekształcenie zawartości pliku wejściowego za pomocą polecenia tr, tak aby wszystkie słowa znajdowały się w jednej linii, a następnie użycie grep -c do zliczenia liczby dopasowań.

tr '[:space:]' '[\n*]' < example.txt | grep -i -c mauris

Czy w ten sposób sprawdzałbyś występowanie słów na swoim terminalu? Podziel się z nami swoimi doświadczeniami i daj nam znać, jeśli masz inny sposób na wykonanie zadania.