Cumanda Grep: strumentu putente per truvà testu da a Terminal

Cumanda Grep

Quasi chiunque abbia un urdinatore o travagli cù unu cunnoscerà l'accurtatoghju di tastiera Ctrl + F per truvà testu. U "F" significa "Truvà", "truvà" in inglese, è pò esse adupratu, per esempiu, per truvà testu in una pagina web. Sta scurciatoia hè dispunibuli ancu in parechje applicazioni, ci sò prugrammi chì utilizanu a "B" per "Ricerca, ma questi accurtatoghji funzionanu solu sì simu in l'internu di l'applicazione è cù u fugliale apertu. In Linux avemu strumenti assai putenti chì pudemu lancià da u Terminal è se vulemu truvate qualsiasi testu chì hè in a nostra squadra useremu u cumandamentu grep.

grep Hè un cumandamentu chì ci aiuterà à truvà testu in u fugliale chì indicemu. U so nome vene da g / re / p, un cumandamentu chì funziona per qualcosa di simile in un editore di testu Unix / Linux. Cum'è assai altri cumandamenti, grep Hà parechji opzioni dispunibili chì aghjunghjeremu in forma di lettere è ognunu servirà un compitu diversu. Combinendu queste opzioni saremu capaci di fà ricerche cumplesse in unu o più fugliali. Quì vi mostremu tuttu ciò chì avete bisognu di sapè.

Con grep truveremu qualsiasi testu in ogni schedariu

Prima di tuttu spiegheremu l'opzioni dispunibili:

  • -i: ùn distingue micca trà maiuscule è minuscule.
  • -w: furzalla à truvà solu parolle specifiche.
  • -v: seleziona e linee chì ùn currispondenu micca.
  • -n: mostra u numeru di a linea cù e parolle richieste.
  • -h: elimina u prefissu da u nome di u schedariu Unix in l'output.
  • -r: cerca i repertorii recursivamente.
  • -R: cum'è -r ma seguitate tutti i ligami simbulichi.
  • -l: mostra solu i nomi di fugliali cù e linee selezziunate.
  • -c- Mostra solu un conte per file di e linee selezziunate.
  • -Colore: Mostra i mudelli currispundenti in culori.

In l'imaghjina chì avete intitulatu st'articulu aghju cercatu a parolla "Images" in u fugliale "830.desktop" chì si trova in questu percorsu. Cumu pudete vede, aghju scrittu:

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

Tenite à mente chì in st'articulu scriveremu esempi chì devenu esse mudificati secondu e nostre preferenze di ricerca. Quandu dicemu "File", "Word", ecc, ci riferiremu à u fugliale cù u so percorsu. Se avessi ghjustu scrittu "grep Images 830.desktop" avessi ricevutu un missaghju dicendu chì u schedariu ùn esiste micca. O allora seria à menu chì u fugliale sia in u cartulare radice.

Altri esempii seranu:

  • grep -i images /home/pablinux/Documentos/830.desktop, Induve "images" seria a parolla chì vulemu truvà è u restu u fugliale cù u so percorsu. Questu esempiu cercerà "imaghjini" in u fugliale "830.desktop" insensibile à u casu.
  • immagini grep -R: cercaria tutte e linee di un repertoriu è tutti i so sottudirectorii induve si trova a parolla "imaghjini".
  • grep -c esempiu test.txt: questu ci circarà è mostrerà u numeru tutale di volte chì "esempiu" apparisce in un fugliale chjamatu "test.txt.

Cù grep pudemu ancu circà i fugliali

Se ciò chì vulemu hè di truvà u fugliale 830.desktop, scrivemu u cumandimu seguitu:

grep 830.desktop

Questu eseguirà un cercate u fugliale «830.desktop» in u nostru cartulare persunaleQuestu hè, se u fugliale hè in u cartulare persunale di un altru utilizatore, ùn serà micca truvatu. Questa hè a cosa più normale in u mondu perchè un utilizatore ùn hà micca permessu per accede à u cuntenutu di un altru senza a so password.

Cumu fà ricerche recursive

grep ci permette ancu fà ricerche sottumette à regule o linee guida recurrenti. Per esempiu, leghjite tutti i fugliali in ogni cartulare chì cuntenenu a parolla "Pablinux". Per questu scriveremu:

grep -r Pablinux /home/

O bè:

grep -R Pablinux /home/

Videremu i risultati per "Pablinux" nantu à una linea separata preceduta da u nome di u fugliale induve hè statu trovu. Se ùn vulemu micca vede i nomi di fugliali in l'output di dati utteneremu l'opzione -h (da "nasconde"; nasconde):

grep -h -R Pablinux /home/

Pudemu unisce l'opzioni inseme è scrive "-hR" senza e virgulette.

Cumu fà ricerche esatte di parolle

Certe volte ci sò i fugliali chì cuntenenu ciò chì vulemu circà qualcosa d'altru. Per esempiu, questu ci pò accade in parolle cumposte è circhendu "fureste" pudemu truvà "rangers". Se vulemu truvà una parolla esatta useremu l'opzione -w:

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

U cumandimu quì sopra cercarà "fureste", ignurendu i rangers, in u fugliale "vacation.txt" in u percorsu indicatu. Se ciò chì vulemu hè di circà duie parolle sfarente aduprà u cumandamentu egrep:

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

Sapete quante volte una parolla appare in un fugliale

grep hè ancu capace di cuntà quante volte una parolla apparisce in un schedariu. Per questu useremu l'opzione -c:

grep -c prueba /ruta/al/archivo

Aghjunghjendu l'opzione -n ​​ciò chì videremu hè u numeru di a linea in a quale appare a parolla.

Ricerca inversa

Pudemu ancu fà u cuntrariu, vale à dì, cerca e linee chì ùn cuntenenu micca una parolla. Per questu useremu l'opzione -v, chì seria a seguente:

grep -v la ruta/al/archivo

U cumandimu quì sopra mostrerà tutte e linee chì ùn cuntenenu micca a parolla "u". Questu pò esse utile in documenti o liste in cui una parola hè ripetuta parechje volte è, per qualchì ragione, avemu bisognu di accede à u restu di e linee.

Accede à l'infurmazioni di u sistema cù grep

Mudellu di PC

grep ùn hè micca solu capace di circà in i fugliali. Hè dinò capaci di vede l'infurmazioni di u sistema. In a screenshot precedente pudemu vede cumu ci mostra chì mudellu di PC avemu (Sò chì ùn hè micca u laptop più putente di u mondu). Per questu avemu usatu u cumandimu:

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

O bè:

grep -i 'Model' /proc/cpuinfo

Se ciò chì vulemu hè di vede i nomi di l'unità di discu scriveremu:

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

Cume elencà solu i nomi di fugliali currispondenti

Se vulemu vede una lista cù solu i nomi di i fugliali chì currispondenu à una ricerca useremu l'opzione -l cum'è mostratu sottu:

grep -l 'main' *.c

È se vulemu vede a parolla in culori scriveremu:

grep --color palabra /ruta/al/archivo

Cumu pudete vede, u cumandamentu grep Hè una strumentu assai putente Vale a pena soprattuttu in i casi induve ùn ci ricordemu micca induve avemu scrittu qualcosa o in prugrammazione. Inoltre, ci aiuta à truvà infurmazioni nantu à u sistema in un modu chì piaceranu à l'amatori di a Terminal. Questa guida nantu à u cumandamentu per truvà testi hè stata utile per voi grep?


U cuntenutu di l'articulu aderisce à i nostri principii di etica edituriale. Per signalà un errore cliccate quì.

2 cumenti, lasciate i toi

Lasciate u vostru cummentariu

U vostru indirizzu email ùn esse publicatu. campi, nicissarii sò marcati cù *

*

*

  1. Responsabile di i dati: Miguel Ángel Gatón
  2. Scopu di i dati: Cuntrolla SPAM, gestione di cumenti.
  3. Legitimazione: U vostru accunsentu
  4. Cumunicazione di i dati: I dati ùn seranu micca cumunicati à terzi, eccettu per obbligazione legale.
  5. Archiviazione di dati: Base di dati ospitata da Occentus Networks (UE)
  6. Diritti: In ogni mumentu pudete limità, recuperà è cancellà e vostre informazioni.

  1.   nordi dijo

    Bonghjornu!
    Quandu dite chì Grep hè ancu adupratu per circà i fugliali, ùn pensu micca chì sia currettu perchè se eseguite grep EXPRESSION è ùn li passate micca u fugliale, aspetterà l'input di dati da l'input standard.
    Secondu a pagina di u manuale:
    grep cerca in i FILE d'entrata chjamati per e linee chì cuntenenu una corrispondenza cù u MODELLU datu. S'ellu ùn hè specificatu alcun schedariu, o se u fugliale "-" hè datu, grep cerca l'input standard.
    Hè per quessa chì pudete aduprà in pipeline, cum'è quellu chì analizza l'output di / proc / cpuinfo passendu l'output di questu cumandamentu cum'è input à grep pudete fà a ricerca.
    Saluti

  2.   Ana dijo

    Assai bonu postu.
    A spiecate assai bè è andate direttamente à u puntu.