Grep: A Shell parancsfájlok megtanulása a Grep Terminal parancs segítségével

grep parancs

A Shell Scripting megtanulása a terminál paranccsal: grep

A "grep" parancs olyan ingyenes operációs rendszerekben, mint a GNU / Linux, nagyon értékes és hasznos parancs. A neve az angol kifejezésből származik: «Global Regular Expression Print», és arra használják, hogy megtalálják, illesszék és megjelenítsék egy (1) fájl vagy több szövegfájl keresési mintázatát vagy reguláris kifejezését.

A «grep» parancs alapvetően megkeresi a parancs paramétereiben megadott mintát, és kinyomtatja az eredményeket a parancs parancsának paraméterei szerint., amely lehet: a képernyő vagy egy kimeneti fájl.

Bevezetés a "grep" parancsba

Már ugyanazon blog más korábbi kiadványaiban, mint például ez «Néhány alapvető parancs a ...»Megjegyeztük e nagyszerű parancs alapvető használatát, de Ebben a kiadványban a "grep" parancs közbenső és fejlettebb használatát láthatjuk funkcionális és hasznos parancsokon belül, amelyek megkönnyíthetik bizonyos valós feladatokat. a parancsfájljainkon belül, vagy közvetlenül a terminálon, hogy egy adott elvégzendő feladattal azonnali eredményt érjünk el.

Gyakorlati példák

Tekintse meg helyzetünket / helyünket

nyomtatás az aktuális könyvtár tartalmát egy grafikus könyvtárfa segítségével:

ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'

Példa:

Grep: Fa-szerű könyvtár

Készítsen véletlenszerű, 30 karakter hosszú jelszót

Generáljon véletlenszerű karakterláncokat a / dev / urandom belsejében, majd válasszon ki és jelenítsen meg egy (1) -t egy szűrő használatával a «grep» paranccsal, csak alfanumerikus karakterekre, az első 30 karakter méretének feltételével, megszüntetve az összes sortáblát.

strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo

Példa:

Grep: Jelszó generálása

Készítsen grafikus összefoglalót a kapcsolatokról

Nézd meg grafikus formában (táblázat), és foglald össze a belső és a külső hálózati kapcsolatok számát, amelyeket egy gazdagép "netstat" parancsa adott időben észlelt.

netstat -an | grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | awk '{ printf("%s\t%s\t",$2,$1) ; for (i = 0; i < $1; i++) {printf("*")}; print "" }'

Példa:

Grep: Netstat kapcsolatok grafikonja

Használható összefoglaló táblázat létrehozására is a kapcsolatok típusa szerint, az alábbiak szerint:

netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c

Példa:

Grep: Összefoglaló táblázatok a Netstat-szal

Keressen egy karakterláncot (mintát) az útvonalon belül

Keresse meg és jelenítse meg a minta összes egyezését a fájlnevekben vagy a fájl tartalmában. A paraméterek használata ennek elérésére: -R (Ismétlődés az alkönyvtáraknál), -n (Az egyezések sorszámának megjelenítése), -i (A kis- és nagybetűk figyelmen kívül hagyása), -s (A "Elnyomás" nem létezik "És" nem olvasható "), -I (A bináris fájlok figyelmen kívül hagyása a keresésben).

grep -RnisI  *

Grep: Minták keresése fájlokban és mappákban

Fejlettebb módon is használható, ha a parancssorban a "find" paranccsal egy minta előre meghatározott fájltípuson belüli megkeresésére szolgál. az alábbiak szerint:

find /opt/MilagrOS -name "*.txt" -exec grep -RnisI "MilagrOS" {} \;

Grep: Minták keresése a fájlokban

Ismerje a RAM memóriájában lévő adatok mennyiségét

Ez hasznos ahhoz, hogy pontosan tudjuk, mennyi adat (információ) vár a merevlemezre való írásra, és kényszeríteni kell a számítógép újraindítását vagy leállítását.

grep ^Dirty /proc/meminfo

Grep: Adatok a RAM-ban

Ismerje WAN IP-címünket

Mindig nagyon hasznos, ha a terminálról automatikusan ismerjük a WAN IP-t, majd ezt a paramétert átadjuk egy másik automatizált feladatnak. Ez a példa a DynDNS szolgáltatást használja annak megszerzéséhez.

curl -s http://checkip.dyndns.org/ | grep -o "[[:digit:].]\+"

Grep: Ismerje WAN IP-jünket

Sorolja fel a hálózati szegmenshez csatlakoztatott berendezéseket

A for ciklust használva a "ping" paranccsal, és az eredményt a "grep" paranccsal szűrve ellenőrizhetjük a hálózathoz csatlakoztatott számítógépeinket az engedélyezett ping szolgáltatással, az NMap eszköz használata nélkül.

for i in {1..10}; do ping -c 1 -W 1 192.168.0.$i | grep 'from'; done

Példa:

A nyomon követett IP-cím mező felsorolásához fejlettebb módon használhatja ezt a sort, a "grep" parancs eredményeit az "awk" és "cut" parancsok segítségével szűrve, az alábbiak szerint:

for i in {100..110}; do ping -c 1 -W 1 192.168.0.$i | grep 'from'; done | awk '{ print $4 }' | cut -d ":" -f 1

Példa:

Grep: LAN IP-lista

A grep parancsot használó parancssori példák. Közvetlenül a konzolról vagy közvetett módon szolgálnak arra, hogy szkriptbe illesztik őket (automatizált feladat).

A Shell Scripting következő bejegyzésében további parancsokat fogunk felfedezni.

Ha szeretne többet megtudni a «grep» parancsról, látogassa meg ezt a linket «DEBIAN Wiki»És ha többet szeretne megtudni a Shell Scriptingről saját blogunkban, ide kattintva megnézheti a témával kapcsolatos egyéb kiadványainkat: Szkriptelés DesdeLinux


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   Leandro dijo

    A cikk remek, köszönöm szépen.

  2.   Linux utáni telepítés dijo

    Szívesen, öröm! Most jön egy a Sed paranccsal.