Grep: Shell skriptu mācīšanās, izmantojot komandu Grep Terminal

grep komandu

Apgūstot čaulas skriptu, izmantojot termināla komandu: grep

Komanda "grep" brīvajās operētājsistēmās, piemēram, GNU / Linux, ir ļoti vērtīga un noderīga komanda. Tās nosaukums cēlies no frāzes angļu valodā: «Globālā regulārās izteiksmes druka», un to izmanto, lai atrastu, saskaņotu un parādītu meklēšanas modeli vai viena (1) faila vai vairāku teksta failu regulāru izteiksmi.

Būtībā komanda «grep» meklē komandu parametros norādīto modeli un izdrukā rezultātus, kas iegūti pēc komandas komandas parametru norādēm, kas var būt: ekrāns vai izvades fails.

Ievads komandā "grep"

Jau citās tā paša emuāra iepriekšējās publikācijās, piemēram, šajā «Dažas pamata komandas ...»Mēs esam komentējuši šīs lieliskās komandas pamata lietojumu, bet Šajā publikācijā mēs redzēsim "grep" komandas starpposma un uzlabotu izmantošanu funkcionālu un noderīgu komandu komandu ietvaros, kas var atvieglot noteiktus reālus uzdevumus. mūsu čaulas skriptos vai tieši uz termināļa, lai sasniegtu tūlītēju rezultātu attiecībā uz konkrētu veicamo uzdevumu.

Praktiski piemēri

Apskatiet mūsu stāvokli / atrašanās vietu

Imprimir pašreizējā direktorija saturs, izmantojot grafisko direktoriju koku:

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

piemērs:

Grep: kokam līdzīgs direktorijs

Ģenerējiet nejaušu paroli 30 rakstzīmju garumā

Ģenerējiet nejaušas virknes iekšpusē / dev / urandom un pēc tam atlasiet un parādiet vienu (1), izmantojot filtrēšanu ar komandu «grep» tikai burtciparu rakstzīmēm ar nosacījumu, ka tiek noteiktas pirmās 30 rakstzīmes, izslēdzot visas rindu plūsmas.

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

piemērs:

Grep: ģenerēt paroli

Ģenerējiet savienojumu grafisko kopsavilkumu

Skatiet grafiskā formā (tabulā) un apkopojiet iekšējā un ārējā tīkla savienojumu skaitu, ko noteiktā laikā noteica resursdatora komanda "netstat".

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

piemērs:

Grep: Netstat savienojumu grafiks

To var izmantot arī, lai izveidotu kopsavilkuma tabulu par savienojumu skaitu pēc to veida, kā parādīts zemāk:

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

piemērs:

Grep: Kopsavilkuma tabulas ar Netstat

Ceļā atrodiet virkni (rakstu)

Atrodiet un parādiet visas modeļa atbilstības failu nosaukumos vai failu saturā. Parametru izmantošana, lai to panāktu, ir: -R (Apakšdirektoriju atkārtošanās), -n (Rādīt atbilstību rindu numurus), -i (Ignorēt lielos un mazos burtus), -s (Apspiest 'nav ziņojumu. lasīt "), -I (ignorēt bināros failus meklēšanā).

grep -RnisI  *

Grep: modeļu atrašana failos un mapēs

To var izmantot arī uzlabotā veidā, ja to izmanto komandu uzvednē ar komandu "atrast", lai atrastu modeli iepriekš definētā faila tipā. kā parādīts zemāk:

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

Grep: Meklējiet šablonus failos

Zināt datu apjomu RAM atmiņā

Tas ir noderīgi, lai precīzi zinātu, cik daudz datu (informācijas) gaida ierakstīšana cietajā diskā, un ir nepieciešams piespiest datoru restartēt vai izslēgt.

grep ^Dirty /proc/meminfo

Grep: Dati RAM

Ziniet mūsu WAN IP adresi

Vienmēr ir ļoti noderīgi automātiski zināt mūsu WAN IP no termināla un pēc tam nodot šo parametru citam automatizētam uzdevumam. Šajā piemērā tā iegūšanai tiek izmantots pakalpojums DynDNS.

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

Grep: Pārziniet mūsu WAN IP

Uzskaitiet tīkla segmentam pievienoto aprīkojumu

Izmantojot for ciklu ar komandu "ping" un filtrējot rezultātu ar komandu "grep", mēs varam pārbaudīt savus datorus, kas ir savienoti ar tīklu, ar iespējotu ping pakalpojumu bez nepieciešamības pēc NMap rīka.

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

piemērs:

Lai uzskaitītu izsekojamās IP adreses lauku, varat vairāk izmantot šo rindu, filtrējot komandas «grep» rezultātus, izmantojot komandas «awk» un «cut», kā parādīts zemāk:

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

piemērs:

Grep: LAN IP saraksts

Šie komandrindu piemēri, izmantojot komandu grep. Un tie tiek izmantoti tieši no konsoles vai netieši, tos ievietojot skriptā (automatizēts uzdevums).

Nākamajā ziņojumā par Shell Scripting mēs izpētīsim citas komandas.

Ja vēlaties uzzināt nedaudz vairāk par komandu «grep», apmeklējiet šo saiti «VĀRDU VALODA»Un, ja vēlaties uzzināt vairāk par Shell Scripting mūsu pašu emuārā, jūs varat apskatīt citas mūsu publikācijas par šo tēmu, noklikšķinot šeit: Skriptēšana DesdeLinux


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   Leandro teica

    Raksts ir lielisks, liels paldies.

  2.   Linux Post instalēšana teica

    Esiet laipni gaidīti, tas ir prieks! Tagad nāk viens ar komandu Sed.