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è.
Index
- 1 cù grep truveremu qualsiasi testu in ogni schedariu
- 2 Cù grep pudemu ancu circà i fugliali
- 3 Cumu fà ricerche recursive
- 4 Cumu fà ricerche esatte di parolle
- 5 Sapete quante volte una parolla appare in un fugliale
- 6 Ricerca inversa
- 7 Accessu à l'infurmazioni di u sistema cù grep
- 8 Cume elencà solu i nomi di fugliali currispondenti
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
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?
2 cumenti, lasciate i toi
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
Assai bonu postu.
A spiecate assai bè è andate direttamente à u puntu.