Grep käsk: võimas tööriist terminalist teksti leidmiseks

Käsk Grep

Peaaegu kõik, kellel on arvuti või kes sellega töötavad, teavad teksti otsimiseks klaviatuuri otseteed Ctrl + F. "F" tähistab ingliskeelset "Find", "to find" ja seda saab kasutada näiteks teksti leidmiseks veebilehelt. See otsetee on saadaval ka paljudes rakendustes, on programme, mis kasutavad otsingu jaoks tähte "B", kuid need otseteed toimivad ainult siis, kui oleme rakenduses sees ja avatud failiga. Linuxis on meil väga võimsad tööriistad, mida saame terminalist käivitada ja kui soovime leidke mõni tekst, mis on meie meeskonnas, me kasutame käsku grep.

grep See on käsk, mis aitab meil failist teksti leida, mille me tähistame. Selle nimi pärineb g / re / p-st, käsk, mis töötab midagi sarnast Unixi / Linuxi tekstiredaktoris. Nagu paljud teised käsud, grep On mitu saadaolevad valikud, mille lisame tähtede kujul ja igaüks täidab erinevat ülesannet. Neid valikuid kombineerides saame keerukaid otsinguid teha ühes või mitmes failis. Siin näitame teile kõike, mida peate teadma.

koos grep leiame suvalisest failist mis tahes teksti

Kõigepealt selgitame saadaolevaid võimalusi:

  • -i: ei tee vahet suurtähel ja väiketähel.
  • -w: sundige seda leidma ainult konkreetseid sõnu.
  • -v: valib read, mis ei ühti.
  • -n: näitab nõutavate sõnadega rea ​​numbrit.
  • -h: eemaldab väljundis oleva Unixi failinime eesliite.
  • -r: otsib katalooge rekursiivselt.
  • -R: meeldib -r, kuid järgige kõiki sümboolseid linke.
  • -l: kuvatakse ainult valitud ridadega failinimed.
  • -c- Näitab valitud ridade kohta ainult ühte arvu faili kohta.
  • -Värv: Kuvab värvides sobivad mustrid.

Selle artikli pealkirjast olen otsinud failil "830.desktop" sõna "Images", mis asub sellel teel. Nagu näete, olen kirjutanud:

grep Imágenes /home/pablinux/Documentos/830.desktop

Pidage meeles, et selles artiklis kirjutame näiteid, mida tuleb vastavalt meie otsingueelistustele muuta. Kui ütleme "File", "Word" jne, siis viitame failile selle teega. Kui oleksin just kirjutanud "grep Images 830.desktop", oleksin saanud teate, et faili pole olemas. Või nii oleks, kui fail ei oleks juurkataloogis.

Teised näited oleksid järgmised:

  • grep -i images /home/pablinux/Documentos/830.desktop, kus "pildid" oleks sõna, mida me tahame leida, ja ülejäänud fail koos selle teega. See näide otsiks failis "830.desktop" suurtähti tundmata "images".
  • grep -R pildid: see otsiks kataloogi kõiki ridu ja kõiki selle alamkatalooge, kus leidub sõna "pildid".
  • grep -c näide test.txt: see otsiks meid ja näitaks, kui palju faile "test.txt" "näide" ilmub.

Grepiga saame otsida ka faile

Kui soovime leida faili 830.desktop, kirjutame järgmise käsu:

grep 830.desktop

See täidab a otsige meie isiklikust kaustast faili «830.desktop»Teisisõnu, kui fail asub teise kasutaja isiklikus kaustas, siis seda ei leita. See on kõige tavalisem asi maailmas, sest kasutajal puudub luba teise paroolita sisule juurde pääseda.

Kuidas teha rekursiivseid otsinguid

grep see võimaldab ka meil teha otsinguid vastavalt reeglitele või juhistele. Näiteks lugege igas kataloogis kõiki faile, mis sisaldavad sõna "Pablinux". Selle jaoks kirjutame:

grep -r Pablinux /home/

O noh:

grep -R Pablinux /home/

"Pablinuxi" tulemusi näeme eraldi real, millele eelneb faili nimi, kust see leiti. Kui me ei soovi failiväljundeid andmeväljas näha, kasutame valikut -h (from "peida"; peida):

grep -h -R Pablinux /home/

Saame ühendada valikud koos ja kirjutada "-hR" ilma jutumärkideta.

Kuidas teha täpseid sõnaotsinguid

Mõnikord on faile, mis sisaldavad seda, mida me tahame midagi muud otsida. Näiteks võib see juhtuda meiega liitsõnades ja otsides "metsad", võime leida "metsavahid". Kui tahame leida täpne sõna kasutame valikut -w:

grep -w bosques /home/pablinux/Documentos/vacaciones.txt

Ülaltoodud käsk otsiks tähistatud metsas failis "Holidays.txt" märksõna "metsad". Kui soovime otsida kahte erinevat sõna, kasutame käsku egrep:

egrep -w bosques|plantas /ruta/del/archivo

Tea, mitu korda sõna failis ilmub

grep see on ka võimeline loendage, mitu korda sõna ilmub failis. Selleks kasutame valikut -c:

grep -c prueba /ruta/al/archivo

Lisades valiku -n, näeme selle rea numbrit, milles sõna ilmub.

Pöördotsingud

Võime teha ka vastupidist, st otsida ridu, mis ei sisalda sõna. Selleks kasutame valikut -v, mis oleks järgmine:

grep -v la ruta/al/archivo

Ülaltoodud käsk kuvab kõik read, mis ei sisalda sõna "the". See võib olla kasulik dokumentides või loendites, kus sõna korratakse mitu korda ja millegipärast peame pääsema juurde ülejäänud ridadele.

Juurdepääs süsteemiteabele teenusega grep

PC mudel

grep see pole võimeline ainult failides otsima. See on ka suudab vaadata süsteemiteavet. Eelmisel ekraanipildil näeme, kuidas see näitab meile, milline arvutimudel meil on (ma tean, et see pole kõige võimsam sülearvuti maailmas). Selleks oleme kasutanud käsku:

cat /proc/cpuinfo | grep -i 'Model'

O noh:

grep -i 'Model' /proc/cpuinfo

Kui soovime näha kettakomplektide nimesid, kirjutame:

dmesg | egrep '(s|h)d[a-z]'

Kuidas loetleda ainult vastavaid failinimesid

Kui soovime näha loendit, kus on ainult otsingule vastavad failide nimed, kasutame allpool näidatud valikut -l:

grep -l 'main' *.c

Ja kui me tahame näha sõna värvilisena, siis kirjutame:

grep --color palabra /ruta/al/archivo

Nagu näete, käsk grep on väga võimas tööriist See on seda väärt eriti juhtudel, kui me ei mäleta, kuhu oleme midagi kirjutanud või programmeerimisel. Lisaks aitab see meil süsteemi kohta teavet leida viisil, mis Terminali armastajatele meeldib. Kas see tekstide leidmise käsu juhend on teile kasulik olnud? grep?


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   nordi DIJO

    Tere!
    Kui ütlete, et Grepi kasutatakse ka failide otsimiseks, siis ma arvan, et see pole õige, sest kui käivitate grep EXPRESSION ja ei edasta faili sellele, ootab see sisestust standardsisendist.
    Käsiraamatu järgi:
    grep otsib nimetatud sisendfailides ridu, mis sisaldavad vastet antud PATTERNile. Kui faile pole määratud või kui on antud fail “-”, otsib grep standardsisendit.
    Sellepärast saate seda kasutada torujuhtmetes, nagu see, mis sõelub / proc / cpuinfo väljundi, edastades selle käsu väljundi sisendina, et saaksite otsida.
    tervitused

  2.   Ana DIJO

    Väga hea postitus.
    Seletate seda väga hästi ja lähete otse asja juurde.