Grep: Shell-komentosarjojen oppiminen Grep Terminal -komennolla

grep-komento

Shell-komentosarjojen oppiminen terminaalikomennolla: grep

"Grep" -komento vapaissa käyttöjärjestelmissä, kuten GNU / Linux, on erittäin arvokas ja hyödyllinen komento. Sen nimi tulee englanninkielisestä lauseesta: «Global Regular Expression Print», ja sitä käytetään tehtävän löytämiseen, etsimiseen tai yhden (1) tiedoston tai useiden tekstitiedostojen säännöllisen lausekkeen hakukuvion tai säännöllisen lausekkeen näyttämiseen.

Pohjimmiltaan komento «grep» etsii komentokomennon parametreissa ilmoitettua mallia ja tulostaa tulokset, jotka on saatu seuraamalla komentokomennon parametrien merkintöjä, joka voi olla: näyttö tai tulostetiedosto.

Johdanto "grep" -komentoon

Jo muissa saman blogin aiemmissa julkaisuissa, kuten tässä «Joitakin peruskomentoja ...»Olemme kommentoineet tämän suuren komennon peruskäyttöä, mutta Tässä julkaisussa näemme "grep" -komennon keskitasoisemman ja edistyneemmän käytön toiminnallisissa ja hyödyllisissä komentokomennoissa, jotka voivat helpottaa tiettyjä todellisia tehtäviä. komentosarjojemme sisällä tai suoraan päätelaitteessa, jotta saavutamme välittömämmän tuloksen tietyssä suoritettavassa tehtävässä.

Käytännön esimerkkejä

Katso sijainti / sijainti

painatus nykyisen hakemistomme sisältö graafisen hakemistopuun avulla:

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

esimerkiksi:

Grep: Puun kaltainen hakemisto

Luo 30 merkin pituinen satunnainen salasana

Luo satunnaisia ​​merkkijonoja / dev / urandomin sisällä ja valitse sitten yksi (1) suodattimella «grep» -komennolla vain aakkosnumeerisille merkeille, ensimmäisten 30 merkin koon ehdolla, poistamalla kaikki rivin syötteet.

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

esimerkiksi:

Grep: Luo salasana

Luo graafinen yhteenveto yhteyksistä

Näytä graafisessa muodossa (taulukko) ja yhteenveto isäntän "netstat" -komennolla havaittujen sisäisten ja ulkoisten verkkoyhteyksien määrästä tiettynä ajankohtana.

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 "" }'

esimerkiksi:

Grep: Netstat-yhteyskaavio

Sitä voidaan käyttää myös muodostamaan yhteenvetotaulukko yhteyksien määrästä tyypin mukaan, kuten alla on esitetty:

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

esimerkiksi:

Grep: Yhteenvetotaulukot Netstatilla

Etsi merkkijono (kuvio) polusta

Etsi ja näytä kaikki kuvion vastaavuudet tiedostojen nimissä tai tiedostosisällössä. Parametrien käyttö tämän saavuttamiseksi ovat: -R (Alihakemistojen toistuminen), -n (Näytä vastaavuuksien rivinumero), -i (Ohita isot ja pienet kirjaimet), -s (Hylkää 'ei ole viestejä "Ja" ei voi lukea "), -I (Ohita binäärit hakussa).

grep -RnisI  *

Grep: Hae malleja tiedostoista ja kansioista

Sitä voidaan käyttää myös edistyneemmällä tavalla, jos sitä käytetään komentokehotteessa "etsi" -komennon kanssa paikantamaan kuvio ennalta määritetyssä tiedostotyypissä. kuten alla:

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

Grep: Hae malleja tiedostoista

Tiedä RAM-muistin tietojen määrä

Tämä on hyödyllistä tietää tarkalleen kuinka paljon tietoa (tietoja) odottaa kirjoittamista kiintolevylle, ja tietokone on pakotettava uudelleenkäynnistykseen tai sammutukseen.

grep ^Dirty /proc/meminfo

Grep: Tiedot RAM-muistissa

Tiedä WAN-IP-osoitteemme

Aina on erittäin hyödyllistä tuntea WAN-IP-osoitteemme automaattisesti päätelaitteesta ja siirtää sitten parametri toiselle automatisoidulle tehtävälle. Tässä esimerkissä käytetään DynDNS-palvelua sen hankkimiseen.

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

Grep: Tunne WAN-IP-osoitteemme

Luettelo verkko-segmenttiin liitetyistä laitteista

Käyttämällä for-silmukkaa "ping" -komennolla ja suodattamalla tulos "grep" -komennolla voimme vahvistaa verkkoon liitetyt tietokoneemme ping-palvelun ollessa käytössä ilman NMap-työkalua.

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

esimerkiksi:

Voit luetteloida jäljitetyn IP-osoitekentän käyttämällä tätä riviä entistä tarkemmin suodattamalla komennon "grep" tulokset käyttämällä komentoja "awk" ja "cut", kuten alla on esitetty:

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

esimerkiksi:

Grep: LAN IP -luettelo

Nämä esimerkit komentoriveistä grep-komennolla. Ja niitä käytetään käytettäväksi suoraan konsolista tai epäsuorasti lisäämällä ne komentosarjaan (automaattinen tehtävä).

Seuraavassa Shell Scripting -viestissä tutkimme muita komentoja.

Jos haluat oppia lisää «grep» -komennosta, käy tällä linkillä «DEBIAN Wiki»Ja jos haluat lisätietoja Shell Scriptingistä omassa blogissamme, voit tutustua muihin aiheeseen liittyviin julkaisuihimme napsauttamalla tätä: Käsikirjoitus DesdeLinux


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   Leandro dijo

    Artikkeli on hieno, kiitos paljon.

  2.   Linux Post -asennus dijo

    Olet tervetullut, se on ilo! Nyt tulee yksi komento Sed.