Kako prebrojati pojavljivanja riječi u tekstualnoj datoteci


Grafički korisnički interfejs procesori teksta i aplikacije za bilježenje imaju informacije ili indikatore detalja za detalje o dokumentu kao što su broj stranica, riječi i < jaki>znakovi, lista naslova u programima za obradu teksta, tabela sadržaja u nekim Markdown uređivačima, itd. i pronalaženje pojavljivanja riječi ili fraza je jednostavno kao da pritisnete Ctrl + F i ukucajte znakove koje želite da tražite.

GUI čini sve lakim, ali šta se dešava kada možete da radite samo iz komandne linije i želite da proverite koliko puta se reč, fraza ili znak pojavljuje u tekstualnoj datoteci? Gotovo je isto tako lako kao i kada koristite GUI sve dok imate pravu naredbu i upravo ću vam ispričati kako se to radi.

Pretpostavimo da imate datoteku example.txt koja sadrži rečenice:

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žete koristiti naredbu grep da izbrojite koliko se puta "mauris" pojavljuje u datoteci kao što je prikazano.

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

Samo korištenje grep -c će izbrojati broj redova koji sadrže odgovarajuću riječ umjesto ukupnog broja podudaranja. Opcija -o je ono što govori grepu da izbaci svako podudaranje u jedinstvenoj liniji, a zatim wc -l kaže wc da broji broj redova. Ovako se zaključuje ukupan broj odgovarajućih riječi.

Drugačiji pristup je da se transformiše sadržaj ulazne datoteke pomoću naredbe tr tako da sve riječi budu u jednom redu, a zatim koristite grep -c da prebrojite taj broj podudaranja.

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

Da li biste na ovaj način provjerili pojavljivanje riječi sa vašeg terminala? Podijelite svoje iskustvo s nama i javite nam ako imate neki drugi način da izvršite zadatak.