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.

Ce este o conductă în Linux

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.

comenzile „pg” și „mai multe”.

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 -

Comanda „grep”.

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 „grep”.

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.

Comanda „sortare”.

Folosind comanda sortare

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”.

Comanda „sortare”.

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.

Ce este un filtru

Să înțelegem asta cu ajutorul unui exemplu.

Avem următorul fișier „eșantion”

Ce este un filtru

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.

Ce este un filtru

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