grep

Grep pentru mai multe modele sau șiruri

Grep pentru mai multe modele sau șiruri
Global Regular Expression Print sau Grep este un utilitar puternic utilizat în sistemul de operare Linux. Prin grep, puteți căuta din fișiere cu modele sau șiruri diferite aplicând limitări. Funcția Grep preia unul sau mai multe fișiere de intrare pentru a căuta în directoare sau subdirectoare. Pentru a căuta numeroase tipare, folosim operatorul SAU. Acest operator este folosit pentru a separa tiparele scrise în comandă. Operatorul de modificare „|” se folosește cu backslash. Sintaxa pentru căutarea diferitelor expresii regulate este următoarea:

Sintaxă

$ grep 'pattern1 \ | pattern2' nume de fișier

O expresie regulată este întotdeauna scrisă într-un singur citat. Două nume sunt separate cu backslash și operator de modificare. Comanda se termină cu numele fișierului. În timp ce faceți grep recursiv, directorul sau întreaga cale este utilizată în locul unui singur nume de fișier.

Condiție prealabilă

În acest articol, vom învăța funcționalitatea grep în căutarea mai multor șabloane și șiruri. În acest scop, trebuie să aveți un sistem de operare Linux care rulează pe caseta dvs. virtuală. Trebuie să-l instalați pe sistemul dvs. După configurare, veți avea acces pentru a utiliza toate aplicațiile. După ce v-ați conectat la utilizator prin furnizarea unei parole, accesați linia de comandă a shell-ului terminalului pentru a continua.

Căutați după mai multe modele într-un fișier folosind Grep

Dacă dorim să căutăm mai multe modele sau șiruri într-un anumit fișier, utilizați funcționalitatea grep pentru a sorta într-un fișier cu ajutorul mai multor cuvinte de intrare din comandă. Folosim „\ |” operatori pentru separarea a două tipare într-o comandă.

$ grep 'tehnic \ | job' filea.txt

Comanda reprezintă modul în care funcționează grep. Ambele fișiere menționate vor fi căutate în filea.txt. Cuvintele căutate sunt evidențiate în întregul text al rezultatului.

Pentru a căuta mai mult de două cuvinte, vom continua să le adăugăm în aceeași metodă.

$ grep 'grafic \ | photoshop \ | fișier postereb.txt

Căutați mai multe șiruri ignorând majuscule

Pentru a înțelege conceptul de sensibilitate la majuscule și minuscule în funcția grep în Linux, luați în considerare următorul exemplu. Două comenzi funcționează pe grep. Una este cu „-i” și cealaltă este fără. Acest exemplu demonstrează diferențele dintre comenzi. Primul arată că vor fi căutate două cuvinte într-un fișier dat. Totuși, așa cum este indicat în comanda „Aqsa”, începe cu majuscula A. Astfel, nu va fi evidențiat deoarece, într-un anumit fișier, acest text este cu litere mici.

$ grep 'Aqsa \ | sister' file20.txt

Se va lua în considerare doar cuvântul soră, care va fi văzut în rezultat.

În al doilea exemplu, am ignorat sensibilitatea la majuscule și minuscule folosind semnalizatorul „-I”. Această funcție va căuta ambele cuvinte, iar ieșirea va fi evidențiată. Indiferent dacă cuvântul „Aqsa” este scris sau nu cu majuscule, grep va căuta aceeași potrivire în textul dintr-un fișier. Deci, ambele comenzi sunt utile în modurile lor.

$ grep -I fișierul 'Aqsa \ | sister '20.txt

Numărarea mai multor meciuri dintr-un fișier

Funcția de numărare ajută la numărarea apariției unui cuvânt sau cuvinte într-un anumit fișier. De exemplu, dacă doriți să aflați despre erorile care apar în sistem. Detaliile sunt înregistrate în fișierul jurnalelor. Pentru a menține aceste informații într-un folder specific, veți scrie calea folderelor. Acest exemplu arată că au apărut 71 de erori în fișierele jurnal.

Căutați potriviri exacte într-un fișier

Dacă doriți să găsiți o potrivire exactă în fișierele sistemului dvs., trebuie să utilizați steagul „-w” pentru a-l sorta cu precizie. Am citat un exemplu simplu și cuprinzător. În exemplul de mai jos, luați în considerare căutarea fără „-w”, această comandă va aduce ambele cuvinte potrivite cu intrarea dată. Dar, cu utilizarea steagului „-w”, căutarea va fi limitată, deoarece cuvintele de intrare se potrivesc doar cu primul șir. Al doilea cuvânt nu este evidențiat deoarece „-w” permite potrivirea exactă cu modelul.

$ -iw 'hamna \ | house' file21.txt

Aici -I este de asemenea utilizat pentru a elimina sensibilitatea la majuscule și minuscule în căutarea textului.

După cum se vede în fotografie, rezultatele nu sunt aceleași. Prima comandă aduce toate datele conexe cu șiruri întregi, în timp ce a doua comandă arată cum se potrivesc datele exacte prin grep în căutarea mai multor șiruri.

Grep pentru mai mult de un model într-un anumit tip de extensie de fișier

Căutarea se face în toate fișierele. Depinde de dvs. dacă căutați furnizând numele fișierului. Va căuta numai în anumite fișiere. Dar oferind o extensie de fișier, datele vor fi căutate prin toate fișierele aceleiași extensii. Există două exemple diferite pentru a descrie rezultatul asociat. Având în vedere primul exemplu, fișierele de eroare vor fi numărate în toate fișierele din .extensie jurnal. „-C” este folosit pentru numărare.

$ grep -c 'avertisment \ | eroare' / var / log / *.Buturuga

Această comandă implică că fișierele vor fi căutate în toate fișierele din .extensie jurnal. Numărul de potriviri va fi afișat în ieșire pentru a demonstra mai bine grep cu extensia de fișier specifică.

În al doilea exemplu, am folosit două cuvinte în fișierele noastre din Linux cu extensia textului. Toate datele vor fi afișate sub formă de numere. 0 nu indică date potrivite, în timp ce altul decât 0 arată că există o potrivire.

$ grep -c 'aqsa \ | my' / home / aqsayasin / *.txt

Căutarea recursivă a mai multor modele într-un fișier

În mod implicit, directorul curent este utilizat dacă nu există un director menționat în comandă. Dacă doriți să căutați în directorul dorit, trebuie să îl menționați. Operatorul „-r” este utilizat pentru grep recursiv./ home / aqsayasin / arată calea fișierelor, în timp ce *.txt arată extensia. Fișierele text vor fi ținta pentru grep pentru a căuta recursiv.

$ grep -R 'tehnic \ | gratuit' / home / aqsayasin / *.txt

Rezultatul dorit este evidențiat în rezultatul care arată existența acestor cuvinte.

Concluzie

În articolul menționat mai sus, am citat diferite exemple pentru a face mai ușor pentru un utilizator să înțeleagă funcționarea comenzilor pentru a căuta mai multe modele pe Linux. Acest ghid vă va ajuta să vă intensificați cunoștințele existente.

Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...
0 A.D. Tutorial
Out of the many strategy games out there, 0 A.D. manages to stand out as a comprehensive title and a very deep, tactical game despite being open sourc...
Unity3D Tutorial
Introduction to Unity 3D Unity 3D is a powerful game development engine. It is cross platform that is it allows you to create games for mobile, web, d...