A Grep Command használata Linuxban

A grep parancs megértése gyakorlati példákkal a fájltartalom egyszerű szűréséhez és megjelenítéséhez

GREP a „Global Regular Expression Print” rövidítése. Ez a Linux által biztosított hasznos parancssori segédprogram a felhasználó által megadott mintának megfelelő szövegsor keresésére.

grep a felhasználótól veszi a bemenetet karakterláncok vagy szavak formájában, amelyekben a felhasználó keresni kíván egy adott fájlban. A parancs ezután ellenőrzi a felhasználó által ehhez a mintához megadott fájlt, majd visszaadja a megadott mintának megfelelő sorokat.

Kiváló munkát végez egy fájl tartalmának szűrésével, így megkönnyíti feladatunkat, hogy egy vagy több fájlon egyszerre keressünk bizonyos tartalmakat.

Ebben a cikkben tekintsük át a működését grep parancsot néhány gyakorlati példával részletesen.

Opciók elérhetők grep parancs

Ezek azok az alapvető lehetőségek, amelyeket gyakran fog használni a grep parancs.

választási lehetőségLeírás
-énA kis- és nagybetűket figyelmen kívül hagyó kereséshez
-rA megadott könyvtárban és alkönyvtáraiban található összes fájl rekurzív keresése
-cEgy karakterlánc megjelenésének teljes számának megjelenítése
-vA nem egyező sorok megjelenítéséhez
-wSzűrés az adott szóra külön-külön

Használni a grep parancs

grep parancsot általában a pipe (|) hasznosság. Megvalósítható a shell pipe-vel, ha más Linux-parancsokkal szeretné használni. Habár, grep cső nélkül külön-külön is használható (|) hasznosság.

Lássunk néhány alapvető szintaxist a grep parancs a pipe segédprogrammal és anélkül.

Hadd mutassam meg először a szöveges mintafájlt, amelyet a szemléltetésre fogok használni grep parancs.

INDIA A BÉKÉTSZERETŐ EMBEREK GYÖNYÖRŰ ORSZÁGA. India a törvényhozás, a végrehajtó hatalom és az igazságszolgáltatás három pilléren áll. India a békét szerető emberek gyönyörű országa. India törődik az emberekkel, mivel erőforrásainak derékszögű koordinátái fontosak az összes derékszögű koordináták számára. Két üres sor következik. A bikaszekér használata gyakori látvány a faluban a mezőgazdasági munkáknál. Ez a mintafájl vége.

grep csővel használva ( | )hasznosság

grep parancs végrehajtható más Linux-parancsokkal együtt a shell pipes segítségével. Például a macska paranccsal megjelenítheti a fájl tartalmát, ugyanakkor a kimenetet a grep parancsot, hogy csak azt a tartalmat jelenítse meg, amelyet látni szeretne. Ez világosabb lesz, ha végigmegyünk a példán.

Szintaxis:

[parancs] | grep [karakterlánc]

Példa:

macskaminta.txt | grep törvényhozás

Itt használtam a macska parancsot, hogy megjelenítsen néhány sort a „sample.txt” fájlból. Csak azokat a sorokat kell megjeleníteni, amelyek tartalmazzák a „törvényhozás” szót, és figyelmen kívül hagyják a többi sort.

Kimenet:

gaurav@ubuntu:~/workspace$ cat sample.txt | Az indiai grep törvényhozás a törvényhozás, a végrehajtó hatalom és az igazságszolgáltatás három pilléren áll. gaurav@ubuntu:~/workspace$

grep cső nélkül használt ( | )hasznosság

grep akár közvetlenül is használható egyedi parancsként a pipe ( | ) hasznosság.

Szintaxis:

grep [keresendő_karakterlánc] [fájlnév]

Példa:

grep India minta.txt

Kimenet:

India a békét szerető emberek gyönyörű országa. India erőforrásként törődik az emberekkel

Így használtam a grep parancsot közvetlenül az „India” karakterláncot tartalmazó sorok kiszűréséhez a „sample.txt” szövegfájlból.

Keresés a kis- és nagybetűk között grep parancs

A Linux nagyon óvatos a kis- és nagybetűk érzékenységével kapcsolatban, amikor elindítjuk a parancsokat a terminálon. Ez megköveteli a felhasználótól, hogy legyen óvatos a parancsban szereplő karakterlánc kis- és nagybetűivel kapcsolatban.

Lássuk ezt egy példán keresztül.

grep béke minta.txt

Ebben az esetben nem kapunk kimenetet, mivel a mintafájlban nem létezik „béke” szó. Nálunk van a „Béke” szó nagy „P” betűvel. A szó ugyanaz, de amikor használjuk a grep paranccsal minden opció nélkül a pontos egyezést keresi a fájlban, figyelmen kívül hagyva a kis- és nagybetűk változásait.

A kétértelműség elkerülése érdekében egyszerűen használhatja a -én opció, amely szó szerint megmondja a grep parancs „Felejtsd el azt az esetet, amibe belehelyeztem a karakterláncot, és csak keresd meg az összes megfelelő mintát a fájlban.”

Szintaxis:

grep -i [karakterlánc] [fájlnév]

Példa:

grep -i peace sample.txt

Kimenet:

INDIA A BÉKÉTSZERETŐ EMBEREK GYÖNYÖRŰ ORSZÁGA. India a békét szerető emberek gyönyörű országa.

Az összes egyező sor megjelenik, függetlenül attól, hogy a megfelelő karakterlánc milyen esetben van.

Rekurzív keresés segítségével grep parancs

A -r Az opció megkeresi az összes fájlt egy könyvtárban és annak összes alkönyvtárában, amely megegyezik a felhasználó által a parancsban megadott karakterlánc-mintával.

Szintaxis:

grep -i -r [karakterlánc] [fájl_útvonala]

Példa:

grep -i -r tomcat /home/gaurav/munkaterület

A karakterlánc itt a „tomcat”, és a rendszer a könyvtár munkaterületén keresi. A „munkaterület” könyvtárban található összes alkönyvtár és fájl is megvizsgálásra kerül, hogy megfeleljen a megadott karakterlánc-mintának.

Kimenet:

./context_log.policy:// catalina.policy – ​​Biztonsági szabályzat engedélyei a Tomcat 7-hez ./context_log.policy:// Megjegyzés: Ha a tomcat-juli.jar a ${catalina.base} mappában található, és nem a ${catalina.home }, ./context_log.policy:// grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..} ./context_log.policy:grant codeBase "file:${catalina.home }/bin/tomcat-juli.jar" { ./context_log.policy: permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket.server"; ./context.xml: ./catalina.properties:# - Tomcat Bootstrap JAR-ok ./catalina.properties:# - Tomcat API JAR-ok ./catalina.properties:# - Tomcat JAR-ok ./catalina.properties:# - Gyakori, nem Tomcat JAR-ok ./catalina.properties:org.apache.catalina.startup.TldConfig.jarsToSkip=tomcat7-websocket.jar ./catalina.properties:tomcat.util.buf.StringCache.byte.enabled=true ./catalina.properties:#ina tomcat.util.buf.StringCache.char.enabled=true ./catalina.properties:#tomcat.util.buf.StringCache.trainThreshold=500000 ./catalina.properties:#tomcat.util.buf.StringCache=500 /server.xml: pathname="conf/tomcat-users.xml" /> ./server.xml: 

JEGYZET: Használata közben a -r opcióval a grep parancsban a fájl elérési útját kell megadnunk, nem pedig a fájlnevet

Egész szavak keresése csak ezzel grep parancs

Sokszor előfordul, hogy egy szóra keres, de végül feltölti a terminált a megfelelő sorokkal, amelyek tartalmazzák a megfelelő szót, de nem önálló szóként. Láthatja azokat a sorokat, amelyek olyan szavakat tartalmaznak, amelyek alrésze az Ön által megadott karakterlánc.

Összetévedtél ezzel? Ne aggódjon, sokkal könnyebb megérteni, ha megkapja a példát.

Példa:

Itt szeretnék keresni egy egyedi „kosár” szóban, és megjeleníteni a szónak megfelelő összes sort a „sample.txt” fájlban.

grep -i kosár minta.txt

Kimenet:

Descartes koordináták fontossága az összes Descartes koordináták. a bikakocsi használata gyakori látvány a faluban a mezőgazdasági munkáknál. A kocsi eltűnt, mert a fiú szabadon hagyta.

A kimenetben megfigyelhető, hogy a „derékszögű” szó tartalmazza a „kocsi” szót is, így a „derékszögű” szót tartalmazó sorok is megjelennek, bár nem akarjuk, hogy megjelenjenek.

Használhatja a -w opcióval a grep parancsot, hogy megoldja ezt a kétértelműséget.

Szintaxis:

grep -i -w [karakterlánc] [fájlnév]

Példa:

grep -i -w kosár minta.txt

Kimenet:

A bikaszekér használata gyakori látvány a faluban a mezőgazdasági munkáknál. A kocsi eltűnt, ahogy a fiú szabadon hagyta. 

Most, ha használta a -w opcióval grep csak azokat a sorokat fogja látni, amelyekben a „kocsi” szó egészében szerepel.

Fordított keresés a használatával grep parancs

grep parancs fordított módon is használható. Használhatjuk a grep parancsot fordítva úgy, hogy elrejti az egyező sorokat, és csak azokat a sorokat jeleníti meg, ahol az egyezés nem található. Ezt megteheti a -v opcióval a grep parancs.

Szintaxis:

grep -i -v [karakterlánc] [fájlnév]

Példa:

grep -i -v erőforrásminta.txt

Kimenet:

INDIA A BÉKÉTSZERETŐ EMBEREK GYÖNYÖRŰ ORSZÁGA. India a törvényhozás, a végrehajtó hatalom és az igazságszolgáltatás három pilléren áll. India a békét szerető emberek gyönyörű országa. derékszögű koordináták az összes derékszögű koordináta fontossága. A bikaszekér használata gyakori látvány a faluban a mezőgazdasági munkáknál. Ez a mintafájl vége.

A kimenetben az összes többi sor megjelenik, kivéve az „erőforrás” szót tartalmazó sort.

Az egyező karakterlánc előfordulásának számlálása

A kimenet a grep parancs általában nagyon hosszú, ha a fájlban lévő adatok kiterjedtek. Minél több egyezés van, annál hosszabbak a kimenetei grep parancs. A Linux egy lehetőséget kínál, ahol megjelenítheti az egyezés előfordulásának számát.

Szintaxis:

grep -i -c [karakterlánc] [fájlnév]

Példa:

grep -i -c india minta.txt

Kimenet:

gaurav@ubuntu:~/workspace$ grep -i -c india sample.txt 4 gaurav@ubuntu:~/workspace$

Itt a kimenet egy szám, amely az „India” szó előfordulásának száma a sample.txt fájlban.

JEGYZET: Én használtam a -én opció minden példában, hogy biztonságban tudjon lenni a kis- és nagybetűk érzékenységével kapcsolatban. Ha biztos a keresett szó kis- és nagybetűjében, akkor nyugodtan kihagyhatja a -én választási lehetőség.

Következtetés

Megtanultuk az alapvető felhasználási módokat grep parancsot a Linux rendszereken ebben az oktatóanyagban. Megtanultuk azt is, hogy az igényeinknek leginkább megfelelő tartalmat jelenítsünk meg, és ne zsúfoljuk túl a terminált sorokkal. grep A parancs biztosan időt takarít meg, ha nagy adathalmazok vizsgálatára használjuk.