Comandă Pipe, Grep și Sort în Linux/Unix cu exemple
Ce este o conductă în Linux?
Pipe este o comandă în Linux care vă permite să utilizați două sau mai multe comenzi, astfel încât ieșirea unei comenzi să servească drept intrare pentru următoarea. Pe scurt, ieșirea fiecărui proces direct ca intrare la următorul ca o conductă. Simbolul '|' denotă o țeavă.
Țevile vă ajută să combinați două sau mai multe comenzi în același timp și să le executați consecutiv. Puteți utiliza comenzi puternice care pot efectua sarcini complexe într-o clipă.
Să înțelegem acest lucru cu un exemplu.
Când utilizați comanda „cat” pentru a vizualiza un fișier care se întinde pe mai multe pagini, promptul sare rapid la ultima pagină a fișierului și nu vedeți conținutul în mijloc.
Pentru a evita acest lucru, puteți direcționa ieșirea comenzii „cat” la „mai puțin”, ceea ce vă va arăta o singură lungime de derulare a conținutului la un moment dat.
cat filename | less
O ilustrație ar fi clar.
Clic aici dacă videoclipul nu este accesibil
comenzile „pg” și „mai multe”.
În loc de „mai puțin”, puteți folosi și.
cat Filename | pg
or
cat Filename | more
Și, puteți vizualiza fișierul în biți digerabili și puteți derula în jos apăsând pur și simplu tasta Enter.
Comanda „grep”.
Să presupunem că doriți să căutați o anumită informație codul poștal dintr-un fișier text.
Puteți trece manual conținutul pentru a urmări informațiile. O opțiune mai bună este să folosiți comanda grep. Acesta va scana documentul pentru informațiile dorite și va prezenta rezultatul într-un format dorit.
Sintaxă:
grep search_string
Să-l vedem în acțiune -
Aici, grep comanda a căutat în fișierul „eșantion”, șirul „Apple” și „Eat”.
Următoarele opțiuni pot fi utilizate cu această comandă.
Opțiune | Funcţie |
---|---|
-v | Afișează toate liniile care nu se potrivesc cu șirul căutat |
-c | Afișează numai numărul de linii care se potrivesc |
-n | Afișează linia potrivită și numărul acesteia |
-i | Potriviți ambele litere (majuscule și mici). |
-l | Afișează doar numele fișierului cu șirul |
Să încercăm prima variantă '-eu' pe același fișier utilizați mai sus -
Folosind opțiunea „i”, grep a filtrat șirul „a” (insensibil la majuscule și minuscule) din toate liniile.
Comanda „sortare”.
Această comandă ajută la sortarea alfabetică a conținutului unui fișier.
Sintaxa acestei comenzi este:
sort Filename
Luați în considerare conținutul unui fișier.
Folosind comanda sortare
Sunt extensii la această comandă, de asemenea, și sunt enumerate mai jos.
Opțiune | Funcţie |
---|---|
-r | Revsortarea erselor |
-n | Sortează numeric |
-f | Sortare fără majuscule |
Exemplul de mai jos arată sortarea inversă a conținutului din fișierul „abc”.
Ce este un filtru?
Linux are o mulțime de comenzi de filtrare precum awk, grep, sed, spell și wc. Un filtru preia intrare de la o comandă, efectuează unele procesări și dă rezultate.
Când trimiteți două comenzi, ieșirea „filtrată” a primei comenzi este dată următoarei.
Să înțelegem asta cu ajutorul unui exemplu.
Avem următorul fișier „eșantion”
Vrem să evidențiem numai liniile care nu conțin caracterul „a”, dar rezultatul ar trebui să fie în ordine inversă.
Pentru aceasta, se poate folosi următoarea sintaxă.
cat sample | grep -v a | sort - r
Să ne uităm la rezultat.
Rezumat:
- Conducte '|' trimite ieșirea unei comenzi ca intrare a altei comenzi.
- Filtrul preia intrare de la o comandă, efectuează unele procesări și dă rezultate.
- Comanda grep poate fi folosită pentru a găsi șiruri și valori într-un document text
- Conducta prin grep trebuie să fie una dintre cele mai comune utilizări
- Comanda „sortare” sortează conținutul unui fișier în ordine alfabetică
- Comenzile less ,pg și more sunt folosite pentru a împărți un fișier lung în biți citibili