grep

Linux grep parancs

Linux grep parancs
A Grep az egyik legkézenfekvőbb eszköz, amely rendelkezésére áll. Ez a parancssori segédprogram egyszerű szöveges adatsorokban végez keresést. Grep valójában egy rövidítésglobbális keresés a regularis expression és orint ”. Grep a UNIX család részeként kezdte meg útját. Idővel az összes olyan népszerű platform számára elérhető, mint a Linux, a Mac, a BSD és még a Windows is!

Használta korábban a grep-et? Legtöbbször az alapvető grep-trükk képes elvégezni a munka nagy részét. A grep azonban rengeteg lehetőséget kínál a keresés végrehajtására és a kimenet finomabb beállítására egy használhatóbb verzióra. Ebben a cikkben nézzük meg a grep parancs használatát.

Grep használat

A létellenőrzés

Ha bármilyen Linux disztribúciót futtat, akkor a grep már telepítve van. Futtassa a következő parancsot a terminálon.

grep --verzió

Ez a parancs a jelenleg telepített grep verziójának megjelenítésére szolgál. Szükségünk van egy bemutató fájlra. Esetemben létrehozok egy szöveges fájlt, amely tartalmazza a rendszerem összes telepített csomagját.

Alapok

A grep alapvető használata a következő felépítést követi.

grep

Vagy a könnyebb megértés érdekében használja ezt.

grep -e -f

Ebben az esetben a grep keresést hajt végre a fájlban, és kinyomtatja az összes sort, amely tartalmazza a mintát (keresési kifejezés).

grep python ~ / Desktop / PackageList.txt

Grep a „PackageList.txt ”Korábban generáltam és kinyomtattam az összes sort, amely tartalmazza a„ python ”szót.

Ugyanez a művelet más módon is elvégezhető. Nézze meg a következő példát.

cat ~ / Desktop / PackageList.txt | grep python

Itt a „cat” paranccsal elküldtem a „PackageList.” Fájl tartalmát.txt ”grepelni. A cat kimenetének felhasználásával a grep elvégezte a keresést, és kinyomtatta azokat a sorokat, amelyek tartalmazzák a keresési kifejezést.

Most jön egy szórakoztató dolog. Szó szerint több grep parancsot is egymásra rakhat.

cat ~ / Desktop / PackageList.txt | grep - | grep p | grep python

Az első grep kötőjellel, a második p-vel, a végső grep pedig a python-vonalakra szűrődik le. Van értelme?

Kis- és nagybetűk érzékenysége

A keresés során a kis- és nagybetűk érzékenysége a fő kérdés. Alapértelmezés szerint a grep megkülönbözteti a kis- és nagybetűket.

Például a „Python” keresése nem mutat eredményt.

cat ~ / Desktop / PackageList.txt | grep Python

A grep kisbetű érzéketlenné tételéhez adja hozzá a következő opciót.

cat ~ / Desktop / PackageList.txt | grep -i Python

Fájlkeresés

Tegyük fel, hogy van egy könyvtárad, amelyben számos szövegfájl található. A cél az, hogy azonosítsa azokat a fájlokat, amelyek tartalmaznak vagy nem tartalmaznak mintát (keresési kifejezés).

Ezt a módszert nagyon hasznosnak találom, ha egy halom naplófájlban keresgélek. Mivel nincs időm minden fájlt manuálisan megnyitni és ellenőrizni, a grep-t kell elvégeznem.

A mérkőzést tartalmazó fájlok listázásához használja a „-l” jelzőt.

grep -l / keresés / könyvtár / *

Amint az eredményből kiderül, a „python” kifejezés megtalálható az „Asztal” könyvtárban található mindhárom fájlban.

Ha fájlokat szeretne egyeztetés nélkül felsorolni, használja a „-L” jelzőt.

grep -L / keresés / könyvtár / *

"Nem egyezik.a txt ”az egyetlen fájl, amely nem tartalmazza a„ python ”kifejezést.

Fordított keresés

A grep alapértelmezett viselkedése az, hogy csak a megfelelő mintával rendelkező vonalakat nyomtatja ki? Ideje megfordítani a folyamatot. Ezúttal csak a vonalakat fogjuk kinyomtatni az egyező minta nélkül.

Csak adja át a „-v” opciót a grepeléshez.

cat ~ / Desktop / PackageList.txt | grep -i -v Python

Sorok nyomtatása a mérkőzés előtt / után

Alapértelmezés szerint a grep csak a keresési mintának megfelelő sort nyomtatja ki. Ezzel a technikával elmondhatja a grep-nek, hogy nyomtassa ki a sorokat a mérkőzés előtt / után is.

A mérkőzések előtti sorok nyomtatásához használja a következő szerkezetet.

grep -B

Itt az 5 az a számsor, amelyet a grep kinyomtat a megfelelő sor ELŐTT.

A mérkőzést követő sorok nyomtatásához használja a következőt.

grep -A

Mi lenne, ha mind a megfelelő vonal előtt, mind utána nyomtatna? Ebben az esetben használja a „-C” jelzőt.

grep -C

Sorszám

Amikor a grep megjeleníti a kimenetet, nem említi a sorszámot. A társított sorszám (ok )hoz használja az „-n” jelzőt.

grep -n

Egyetlen szó

A „-w” jelző használata esetén a grep a mintát egy egész szóként kezeli.

grep -w

A grep keresés korlátozása

A Grep lehetővé teszi a fájlban keresendő sorok számának megadását. Ez a módszer akkor hasznos, ha nagy fájlokkal (például rendszernaplóval) foglalkozik. Használja a „-m” jelzőt.

grep -m

Rekurzív keresés

Ez az egyik leghasznosabb funkció, amelyet a grep nagy igénybevételre kínál. A Grep rekurzív módon kereshet egy könyvtárban, és megtalálja az összes találatot az összes fájlból, amellyel szembesül.

grep -R

Vagy,

grep -r

Gyakran előfordul, hogy ezt a rekurzív függvényt használom az „-l” jelzővel együtt.

Csendes mód

A Grep „csendes” módban futtatható. „Csendes” üzemmódban a grep nem nyomtat kimenetet a terminálra. Ehelyett 0-t (legalábbis találtak egyezést) vagy 1-et (nem található találat) ad vissza.

grep -q
visszhang $?

Regex

A Grep lehetővé teszi a regex (reguláris kifejezés) kereséseket is. Ez a grep mint kereső eszköz komplexitásának és használhatóságának teljesen új szintjét hozza fel.

Például zárójelek segítségével egyszerre kereshet mind a „túl”, mind a „kettő” kifejezésre.

macska ~ / Asztal / gpl-3.0.txt | grep t [jaj]

Ez a következő példa csak akkor nyomtatja ki a sort, ha az egyezés a sor legelején történik.

grep ^ GNU ~ / Desktop / gpl-3.0.txt

Ami a befejezés illesztését illeti, használja ezt.

grep you $ ~ / Desktop / gpl-3.0.txt

Ha Perl regexet akar használni, akkor használja a „-P” jelzőt. Perl regexként kezeli a mintát.

grep -P

Végső gondolatok

A Grep rengeteg lehetőséget kínál a keresési funkció testreszabására. A regex elérhetősége egy teljesen új horizontot nyit meg a grep lehetséges használatában. A legjobb dolog az, hogy használhatja az általános és a Perl regexet is; amelyikkel jól érzed magad.

A legrészletesebb magyarázatért mindig keresse meg a man oldalt.

férfi grep

Egészségére!

Hogyan lehet játékot fejleszteni Linuxon
Egy évtizeddel ezelőtt nem sok Linux-felhasználó jósolta, hogy kedvenc operációs rendszerük egy napon a videojátékok népszerű játékplatformja lesz. El...
Kereskedelmi játékmotorok nyílt forráskódú portjai
Ingyenes, nyílt forráskódú és platformokon átívelő játékmotorok szabadidős programjai felhasználhatók a régi, valamint a meglehetősen friss játékcímek...
A legjobb parancssori játékok Linuxhoz
A parancssor nem csak a legnagyobb szövetséges a Linux használatakor, hanem a szórakozás forrása is lehet, mert sok olyan szórakoztató játék lejátszás...