Esempiu usi di u Linux Commandos grep

Introduzione

A cumanda di grep Linux hè utilizzatu cum'è un metudu per u filtru di l'input.

GREP hè di Escrizzione di l'Escrizione Regulare Globale è dunque, per esse aduprà in modu efficace, avete bisognu di qualchì sapienti annantu à l'espressioni regulare.

In questu articulu, aghju da vede parechji esempi chì avete aiutu à capisce u cumandru grep.

01 di 09

Cume una ricerca per una stringe in un schedariu chì utilizà u grecu

The Linux Command Grep.

Imagine chì avete un testu chjamatu libri cù i trisuli di u libru in i zitelli:

Per truvà tutti i libri cù a parola "U" in u tìtulu avete aduprà a sintaxe seguente:

grep Li libri

I risultati seguenti sò tornati:

In ogni casu, a parolla "A" serà puntuale.

Nota chì a ricerca hè casu sensibilita perchè s'ellu unu di i tituli detti "a" invece di "U" ùn hè micca stata riittata.

Per ignurà u casu pudete aghjunghje l'interruptione seguenti:

grep the books --ignore-case

Pudete ancu aduprà l'i cambia da seguente:

grep -i i libri

02 di 09

Ricerca per una stringe in un schedariu chì utilizanu comodini

U cumandru grep hè assai putenti. Pudete utilizà una multitùdine di tecniche di cunnessione di u patchinu per filtrà risultati.

In questu esempiu, vi cuncerte cumu per circà una stringa in un schedariu cù comodienti .

Imagine chì avete un schedariu chjamatu locu cù i nomi di u situ:

aberdeen

aberystwyth

aberlour

inverurie

inverness

Newburgh

novu vechju

novu galloway

glasgow

edinburgh

Se vulete truvà tutti i posti cun inveru in u nome, utilizate a sintaxina seguente:

in grep inte

L'asteriscenu (*) cume cumpostu per 0 o parechji. Perchè s'ellu avete un locu chjamatu inveru o un locu chjamatu inverness allora i dui volte.

Un altru comodità chì pudete aduprà hè u piriu (.). Pudete utilizà questu per fassi cù una sola lettera.

i posti grep inver.r

U cumandariu precedente truvà squadie chjamati inverurie è inverariu ma ùn trova inverieerie perchè ùn solu pò esse un crescente trà e dui r, cumu denotate da u periodu unicu.

U comodità di u periodu hè d'utilità ma pò pruduce prublemi si avete unu particulare di u testu chì cercate.

Per esempiu, guardate questa lista di nomi di duminiu

Per truvà tutte l'about.com chì puderia cercà a sinaggiu cumminzioni:

grep * about * domainnames

U cumandariu putere lampassi in casu a lista cuntene u nome in seguitu:

Pudete, perchè, pruvate a sintaxina di seguente:

grep * about.com domainnames

Questu travagliammu ok, s'ellu ùn era un duminiu cù u nome:

aboutycom.com

Per veramente circà u termine about.com avete bisognu di scappari di u puntu cum'è:

grep * about \ .com domainnames

U cunzidu finale per vede hè questu quistione chì ghjè per cero o un caratteru.

Per esempiu:

grep? ber placenames

A cumanda di supra cumete turnàssine aberdeen, aberystwyth o even berwick.

03 di 09

Ricerca per a Strings à u principiu è a fine di linea chì utilizà u grep

U carat (^) è u simbolu di dùvule ($) permettenu di circà u patronu di u principiu è di a fine di e linii.

Imagine chì avete un schedariu chjamatu football cù i nomi di squadra di seguenti:

Se vulete truvà tutti i gruppi chì partianu di Manchester, puderete aduprà a sintaxe seguente:

grep ^ Cumparativi di Manchester

U cumandariu putissi turnà Manchester City e Manchester United, ma micca FC United Of Manchester.

Alternativamenti pudete truvà tutti i equipos chì finisceranu cù l'Unione cù a sintaxina di seguente:

Cunsiglii United States

U cumandimu cumanda turnaranu Manchester United è Newcastle United, ma micca FC United Of Manchester.

04 di 09

Conti u numbru di partiti Cose cumpagnie

Se ùn avete micca vultà i linii proprii chì incù un mudellu cù grep, ma puderete sce quantu quì quì sò pudete aduprà a sintaxe seguente:

grep -c patternfile inputfile

Se u patronu hà vinutu duie volte, u numaru 2 hè devueltu.

05 di 09

Truvà tutti i termini chì ùn anu micca truvatu cù grep

Imagine chì avete una lista di i nomi di u situ cù i paesi di listessa cum'è seguente:

Pudete avè avutu chì a colghone ùn hà nunda paese assuciatu à questu.

Per circà tutti i lochi cù un paese, pudete usà a sintaxisa seguente:

terra grep land

U risultati rimpatriate saranu tutti i lochi, cioè a culleghja di Colwyn.

Questu òviu solu opare per i posti chì finiscinu in a terra (pocu scientificu).

Pudete invertisce u selezziunale utilizendu a sintaximu seguita:

grep -v land $ places

Questu truvà tutti i posti chì ùn mancanu micca a terra.

06 di 09

Comu Locu Locu Lighjenzi In Files Utilizare grep

Imagine chì avete un input file chì hè utilizatu da una applicazione di terzu chì stetta leghje u schedariu quandu findi una linea vasa di a siguenti:

Quandu l'applicazione si aghjusta à a linea dopu à liverpool, stenderà di leghje u sensu chì a culleghja di culleghja hè sbagliata.

Pudete utilizà u grep per circà circà e linii in biancu cù a sintaxina di seguente:

grep ^ $ lugares

Sfortunatamente, questu ùn hè micca particularmente utile perchè solu torna li linii in biancu.

Pudete pussutu acquistà un cunti di u nùmeru di ciani bianchi cum'è cuntrollu per vede se u schedariu hè validu cumu seguitu:

grep -c ^ $ lugares

Ancu seriu più utile di cunnosce i numeri di linea chì anu una fila in biancu per quellu chì pudete reemplazarà. Pudete fà cù u cumandimu seguitu:

grep -n ^ $ lugares

07 di 09

Cume A Ricerca per Strings of Charselles majuscule o minuscule cù u grep

Utilizà u grep pudete stabilisce quessi filamenti in un schedariu sò tippriche majuscule cù a sintaxe seguente:

grep '[AZ]' filename

I corchete [] permettenu di definisce u listinu di caratteri. In l'esempiu di quì cuncrita un caratteru chì hè trà A è Z.

Perchè per fassi cù i caratteri di minuscusciate pudete aduprà a sintaxe seguente:

grep '[az]' filename

Sè vo vulete fà cù l'lettere cù i numerichi o un altru sìngulu ùn pudete utilizà a sintaxe seguente:

grep '[a-zA-Z]' filename

Pudete fà u listessu cù i numeri:

grep '[0-9]' filename

08 di 09

Circate per i Patterne di Ripedizione Usendu u grep

Pudete puru chjappu curtains () per circà un patru ripetutu.

Imagine chì avete un schedariu cù numeri di telefuni cumenti:

Sapete chì a prima parte di u numiru duveranu esse trè numeri è voi truvà e linii chì ùn sò micca currispondenu stu patronu.

Da l'esempiu previ, sapete chì [0-9] retorna tutte i numeri in un schedariu.

In questu instigatu vulemu li linii chì partenu cù trè numeri seguiti da un gufà (-). Pudete fà chì cù a sintaximu seguita:

grep "^ [0-9] [0-9] [0-9] -" numeri

Comu sapemu da exempli previ, u carat (^) significa chì a via hè stata fatta cù a struttura.

U [0-9] cercarà un nummiru entre 0 è 9. Cumu hè chjamatu trè volte chì currisponde à 3 numeri. Finalmente ci hè un guadete per denote chì un guadete averebtu successore i trè numeri.

Per utilizandu i parcheti rive, pudete fà a ricerca più chjuca di u seguitu:

grep "^ [0-9] \ {3 \} -" numeri

A slash fuxa u bracket [cesta da chì u travagliu cum'è parte di l'espressione regulare ma in esencia ciò chì dice questu hè [0-9] {3} chì significa alcunu entre 0 è 9 trè volte.

I sordi ricci sò ancu utilizati com'è:

{5,10}

{5}}

U {5,10} significa chì u caratteru chì si circà hè dumandatu esse ripetitu da almenu 5 volte, ma micca più di 10 mentre chì u {5,} significa chì u caratteru deve esse ripetitu almenu 5 volte, ma pò esse più ca quellu.

09 di 09

Utilizà a salute Da altre cumandesi Usendu grep

Questu avemu avutu guardatu à u patronu cù i schedari individuali ma grep pò usà a risurta da l'altri cumandamenti cum'è l'ingaghjamentu per cunnessu di patch.

Un gran esempiu di questu hè l'usu di u ps cumandante chì liste prucessi attivi.

Per esempiu, agisce u cumannu siguenti:

ps -ef

Tutte e le processe chì prughjettanu in u vostru sistema vi si prisentate.

Pudete utilizà u grep per circà un pruduttu furmulariu chì seguita:

ps -ef | grep firefox

Resumen

U cumandru grep hè un commandu Linux funnamativu è hè quellu chì hè vale à averete studià chì vi farà a vostra vita assai più faciule durante a ricerca di i schedari è i prucessi à l'usu di a terminal.