Weboldal keresés

Hogyan találhat meg egy adott karakterláncot vagy szót a fájlok és könyvtárak között


Meg akarja találni az összes olyan fájlt, amely egy adott szót vagy szöveget tartalmaz a teljes Linux rendszeren vagy egy adott könyvtárban? Ez a cikk eligazítja, hogyan kell ezt megtenni, megtudhatja, hogyan kutathat rekurzívan a könyvtárakban, hogy megtalálja és felsorolja az adott szöveget tartalmazó fájlokat.

Ennek egyszerű megoldása a grep mintakereső eszköz, amely egy hatékony, hatékony, megbízható és legnépszerűbb parancssori segédprogram minták és szavak keresésére Unix-szerű rendszerek fájljaiból vagy könyvtáraiból.

Olvassa el még: 11 fejlett Linux „Grep” parancs karakterosztályokra és zárójel-kifejezésekre

Az alábbi parancs felsorolja az összes fájlt, amely a „check_root” szöveget tartalmazó sort tartalmaz, rekurzív és agresszív kereséssel a ~/bin könyvtárban.

grep -Rw ~/bin/ -e 'check_root'

Ahol a -R opció azt utasítja a grep-nek, hogy rekurzívan olvassa be az egyes könyvtárak összes fájlját, csak akkor kövesse a szimbolikus hivatkozásokat, ha azok a parancssorban és a -w< paraméterben vannak. A arra utasítja, hogy csak azokat a sorokat jelölje ki, amelyek egyezéseket tartalmaznak, amelyek egész szavakat alkotnak, a -e pedig a keresendő karakterlánc (minta) megadására szolgál.

Használja a sudo parancsot bizonyos könyvtárak vagy fájlok keresésekor, amelyekhez root jogosultság szükséges (kivéve, ha a rendszert a root fiókkal kezeli).

 
sudo grep -Rw / -e 'check_root'	

A kis- és nagybetűk megkülönböztetésének figyelmen kívül hagyásához használja a -i kapcsolót az ábrán látható módon:

grep -Riw ~/bin/ -e 'check_root'

Ha meg szeretné tudni, hogy pontosan melyik sort tartalmazza a szöveg, használja a -n kapcsolót.

grep -Rinw ~/bin/ -e 'check_root'

Feltételezve, hogy egy könyvtárban többféle fájl található, amelyben keresni szeretne, a --include kapcsolóval megadhatja a keresendő fájlok típusát is, például kiterjesztésük alapján.

Ez a példa arra utasítja a grep-et, hogy csak az összes .sh fájlt nézze át.

grep -Rnw --include=\*.sh ~/bin/ -e 'check_root'

Ezen kívül lehetőség van egynél több minta keresésére is, a következő paranccsal.

grep -Rinw ~/bin/ -e 'check_root' -e 'netstat'

Ez az! Ha ismer más parancssori trükköt, amellyel karakterláncot vagy szót találhat a fájlokban, ossza meg velünk, vagy tegyen fel bármilyen kérdést a témával kapcsolatban, használja az alábbi megjegyzés űrlapot.