grep

frá Wikipedia, ókeypis alfræðiorðabókinni
Fara í siglingar Fara í leit
GNU grep

grep [ gɹɛp ] er forrit sem er notað til að leita að og sía skilgreinda stafstreng úr skrám eða gagnastraumum undir stýrikerfum Unix og Unix afleiða . Það var upphaflega þróað af Ken Thompson , [1] birtist fyrst sem hluti af útgáfu 6 AT&T UNIX og er POSIX.1- samhæft.

Hugtakið grep stendur fyrir g lobal / r egular e xpression / p rint [2] [3] eða g lobal leit að r egular e xpression og p print út samsvarandi línum, [4] eða um "alþjóðlega leit að venjulegri útprentun og framleiðsla samsvarandi lína “. Sögulega hefur nafnið þróast frá stjórn g / re / p Unix ritstjóra QED, forvera útgáfunnar . [5] [6]

Það eru nokkrar aðrar áætlanir með svipuðum aðgerðum, svo sem agrep og tre-agrep, sem einnig leyfa sér loðinni leit að texta strengi .

nota

Í skipanalínunni er grep aðallega notað til að leita í skrám. Símtalið hefur formið:

 grep [valkostir] leitarstrengur [skrá (listi)]

Skipunina er einnig hægt að nota í skeljarforritum , til dæmis í rörum .

The háttur af gangur af grep er hægt að breyta með því að nota stjórn lína rofi.

Dæmi um valfrjáls vinnubrögð með grep
gegn áhrif
-v Finndu allar línur sem innihalda ekki tilgreint textamynstur.
-w Finndu aðeins línur sem innihalda leitarmynstrið í heilu orði.
-n Gefðu út línanúmerin sem textinn er í.
-H Prentaðu skráarnafnið á öllum skrám sem innihalda tilgreindan texta.

GNU afbrigðið býður einnig upp á þann möguleika að gefa ekki út alla línuna sem tjáning er í, heldur aðeins allar tilvik tjáningarinnar sjálfs.

Dæmið dregur út tölu, nefnilega notendanafn auðkennis sem heitir „rudi“ úr skránni „ / etc / passwd“.

 $ grep -E -o "^ rudi: x: [0-9] +" / etc / passwd | grep -o "[0-9] * $ "

Notkunarsvið

grep er fyrst og fremst notað þegar leita þarf að skrám, til dæmis upprunaskrár tölvuforrits eða annálaskrár . Í samvinnu við finn er hægt að lesa heilt tré skráa.

 $ find / home / username -exec grep -H "lykilorð" {} \;

Þessi skipun leitar í öllum skrám í upprunaskrá notandanafnsins eftir lykilorði og birtir línurnar sem finnast ásamt skráarnafninu og birting skráarnafnis kemur af stað með -H valkostinum.

Sumar grep útgáfur leyfa styttri samsetningu með því að nota -r valkostinn:

 $ grep -r "lykilorð" / heimili / notendanafn

Annað notkunarsvið er notkun sem línasía innan keðju skipana, t.d. B.:

 $ tail -1000 / var / log / mail | grep "netfang"

afbrigði

sammála

samþykkp ( Approximate GREP ) er forrit sem tilheyrir ekki fjölskyldu UNIX grep forritanna. Ólíkt forritum UNIX grep fjölskyldunnar gerir óskýr ( óskýr ) textastrengleit.

העסק var þróað á árunum 1988–1991 af Udi Manber [7] og Sun Wu við háskólann í Arizona og myndar kjarnann í leitarvélinni GLIMPSE og HARVEST . Frá miklum fjölda innbyggðra leitarreikninga notar forritið það sem er best lagað að venjulegu tjáningu notendaviðmóts (leitarstrengur) og sem gerir fljótlegustu leitina kleift.

Um 1996 var það flutt í fyrsta skipti í OS / 2 og DOS , síðar í Windows og eftir frekari endurbætur aftur á Linux. [8.]

Þó gæti áður aðeins hægt að nota agrep samkvæmt takmörkuðu leyfi, sem var í andstöðu við 1. mgr opinn uppspretta skilgreiningu, verktaki tekist að setja agrep undir frjálsa ISC leyfi á September 18, 2014. [9]

Tre-sammála

Með Tre-acceptp er ný útfærsla á samþykkp í boði sem er fáanleg undir frjálslyndari BSD leyfi. [10] [11]

egrep

egrep (Extended grep) er hentugur fyrir auðveldari leit með útvíkkuðum reglulegum tjáningum . Svo gerðu persónurnar ? + { } | ( ) með egrep hefur sérstaka merkingu fyrir tjáninguna og verður að vernda það með öfugri skástrik ef það er að finna sem texta.

grep -E gerir allt sem egrep gerði og egrep símtalið er nú úrelt; það ætti að forðast það í forskriftum, þar sem egrep oft aðeins óbeint kall til grep -E og verður ekki lengur stutt í framtíðinni.

fgrep

fgrep ( f fyrir fasta strengi ) er alltaf hægt að nota í stað grep ef mynstrið sem á að leita að inniheldur ekki regluleg orðasambönd. Allir sérstakir stafir í mynsturstrengnum missa sérstaka merkingu sína og skilja þá sem hluta af mynstrinu. Fgrep vinnur aðeins hraðar en grep og er sérstaklega gagnlegt þegar leitað er í miklu magni gagna. Aho-Corasick reikniritið , sem einnig var notað í upprunalegu útgáfunni, er notað til þess. fgrep skal símtalið fgrep í forskriftum, þar sem fgrep er oft aðeins til vegna samhæfðar niður og er þá venjulega aðeins óbeinn, þ.e. krókur, kall grep -F .

Microsoft Windows

Eins og með mörg forrit hefur grep verið flutt á Windows pallinn. Windows þekkir skipanirnar find og findstr sem innbyggðar skipanir, sem framkvæma aðgerð svipað grep. Resource Kit 2003 verkfæri innihalda QGREP.EXE . [12]

Samsvarandi PowerShell stjórn er Select-String . [13]

Sjá einnig

Vefsíðutenglar

Einstök sönnunargögn

  1. ^ Brian Kernighan : samsvörun fyrir venjulega tjáningu .
  2. grep handbók 16. lið
  3. J. Plate: unix5 University of Applied Sciences Munich
  4. Linux grunnur
  5. ^ Félix López, Víctor Romero: Mastering Python Regular Expressions. Útgáfa Packt 2014, ISBN 978-1-78328-315-6 . Bls. 7.
  6. Computerphile: Hvaðan GREP kom - Computerphile. 6. júlí 2018, opnaður 8. júlí 2018 (enska, viðtal við Brian W. Kernighan ).
  7. Udi Manber á ensku Wikipedia
  8. sammála frumkóða allra útgáfa
  9. Nánari upplýsingar og frekari upplýsingar í enskri tungu samþykki
  10. Charly Kühnast: Taktu tvö: Úr daglegu lífi sysadmin: Biabam og Tre-agree . linux-magazin.de, tölublað 10/2012, bls. 61
  11. laurikari.net/tre Upplýsingar um Tre-samþ
  12. Resource Kit Tools Windows Server 2003 (einnig fyrir Windows XP )
  13. sdwheeler: Select-String (Microsoft.PowerShell.Utility). Í: docs.microsoft.com. 6. júlí 2018, Sótt 7. júlí 2018 (amerísk enska).