Kuidas lugeda tekstifailis esinevaid sõnu


Graafilise kasutajaliidese tekstitöötlusprogrammides ja märkmete koostamise rakendustes on teave või üksikasjalikud indikaatorid dokumendi üksikasjade, näiteks lehtede, sõnade ja tähemärkide arvu, pealkirjade loendi jaoks tekstitöötlusprogrammides, sisutabeli mõnes märgistusredaktoris jne ja leidmiseks sõnade või fraaside esinemine on sama lihtne kui vajutades Ctrl + F ja sisestades otsitavad märgid.

GUI teeb kõik lihtsaks, kuid mis juhtub siis, kui saate töötada ainult käsurealt ja soovite kontrollida, mitu korda tekstifailis sõna, fraas või märk esineb? See on peaaegu sama lihtne kui graafilise kasutajaliidese kasutamisel, kui teil on õige käsk ja ma räägin teile, kuidas seda tehakse.

Oletame, et teil on fail example.txt , mis sisaldab lauseid:

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.

Grep-käsu abil saate lugeda, mitu korda "mauris" kuvatakse failis, nagu näidatud.

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

Ainult grep -c kasutamine arvestab vastete koguarvu asemel vastavate sõna sisaldavate ridade arvu. Valik -o on see, mis käsib grepil iga vaste unikaalsel real välja anda ja seejärel wc -l käsib wc-l lugeda ridade arv. Nii tuletatakse sobivate sõnade koguarv.

Erinev lähenemisviis on sisendfaili sisu teisendamine käsuga tr nii, et kõik sõnad oleksid ühes reas, ja seejärel kasutage vaste loendamiseks grep -c .

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

Kas nii kontrolliksite oma terminalis sõna esinemist? Jagage oma kogemusi meiega ja andke teada, kui teil on mõni muu viis ülesande täitmiseks.