Hogyan számoljuk meg a szavak előfordulását egy szövegfájlban
A Grafikus felhasználói felület szövegszerkesztők és jegyzetkészítő alkalmazások információ- vagy részletjelzőkkel rendelkeznek a dokumentum részleteihez, például az oldalak számához, szavakhoz és karakterek, fejléclista a szövegszerkesztőben, tartalomjegyzék néhány leíró szerkesztőben stb., valamint a szavak vagy kifejezések előfordulásának megtalálása olyan egyszerű, mint a Ctrl + F
és a írja be a keresni kívánt karaktereket.
A GUI mindent leegyszerűsít, de mi történik, ha csak a parancssorból tud dolgozni, és szeretné ellenőrizni, hogy egy szó, kifejezés vagy karakter hányszor fordul elő egy szövegfájlban? Ez majdnem olyan egyszerű, mint a grafikus felhasználói felület használatakor, amíg megvan a megfelelő parancs, és hamarosan elmesélem, hogyan kell csinálni.
Tegyük fel, hogy van egy example.txt
fájlja, amely a következő mondatokat tartalmazza:
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.
A grep paranccsal megszámolhatja, hogy a "mauris"
hányszor jelenik meg a fájlban, ahogy az ábra mutatja.
grep -o -i mauris example.txt | wc -l
A grep -c
használata önmagában a megfelelő szót tartalmazó sorok számát számolja, nem pedig az összes egyezés számát. A -o
opció azt mondja a grepnek, hogy minden egyezést egyedi sorban adja ki, majd a wc -l
parancsot a wc-nek, hogy számolja meg a sorok számát. Így következtethető ki az egyező szavak teljes száma.
Egy másik megközelítés az, hogy a bemeneti fájl tartalmát a tr paranccsal úgy alakítjuk át, hogy az összes szó egyetlen sorban legyen, majd a grep -c
használatával megszámolja az egyezések számát.
tr '[:space:]' '[\n*]' < example.txt | grep -i -c mauris
Így ellenőriznéd a szó előfordulását a terminálodról? Ossza meg velünk tapasztalatait, és tudassa velünk, ha van más módja a feladat végrehajtásának.