Pipe, Grep og Sort Command i Linux/Unix med eksempler
Hva er en pipe i Linux?
The Pipe er en kommando i Linux som lar deg bruke to eller flere kommandoer slik at utdata fra en kommando fungerer som input til den neste. Kort sagt, utdataene fra hver prosess direkte som input til den neste som en rørledning. Symbolet '|' betegner et rør.
Pipes hjelper deg med å blande to eller flere kommandoer samtidig og kjøre dem fortløpende. Du kan bruke kraftige kommandoer som kan utføre komplekse oppgaver på et blunk.
La oss forstå dette med et eksempel.
Når du bruker 'cat'-kommandoen for å vise en fil som spenner over flere sider, hopper ledeteksten raskt til den siste siden i filen, og du ser ikke innholdet i midten.
For å unngå dette kan du overføre utdataene fra 'cat'-kommandoen til 'less', som vil vise deg bare én rullelengde med innhold om gangen.
cat filename | less
En illustrasjon ville gjøre det klart.
Klikk her. hvis videoen ikke er tilgjengelig
'pg' og 'more' kommandoer
I stedet for 'mindre' kan du også bruke.
cat Filename | pg
or
cat Filename | more
Og du kan se filen i fordøyelige biter og bla ned ved å trykke på enter-tasten.
'grep'-kommandoen
Anta at du vil søke etter en bestemt informasjon postnummeret fra en tekstfil.
Du kan selv skumme innholdet manuelt for å spore informasjonen. Et bedre alternativ er å bruke grep-kommandoen. Den vil skanne dokumentet for ønsket informasjon og presentere resultatet i et format du ønsker.
Syntaks:
grep search_string
La oss se det i aksjon –
Her grep kommandoen har søkt i filen 'sample', etter strengen 'Apple' og 'Eat'.
Følgende alternativer kan brukes med denne kommandoen.
Alternativ | Funksjon |
---|---|
-v | Viser alle linjene som ikke samsvarer med den søkte strengen |
-c | Viser bare antallet samsvarende linjer |
-n | Viser den samsvarende linjen og nummeret |
-i | Match både store og små bokstaver |
-l | Viser bare navnet på filen med strengen |
La oss prøve det første alternativet '-jeg' på samme fil bruk ovenfor –
Ved å bruke 'i'-alternativet har grep filtrert strengen 'a' (uavhengig av store og små bokstaver) fra alle linjene.
'Sort'-kommandoen
Denne kommandoen hjelper til sortere ut innholdet i en fil alfabetisk.
Syntaksen for denne kommandoen er:
sort Filename
Vurder innholdet i en fil.
Ved hjelp av sorteringskommandoen
Det finnes utvidelser til denne kommandoen også, og de er oppført nedenfor.
Alternativ | Funksjon |
---|---|
-r | Reverses sortering |
-n | Sorterer numerisk |
-f | Uavhengig av store og små bokstaver |
Eksemplet nedenfor viser omvendt sortering av innholdet i filen 'abc'.
Hva er et filter?
Linux har mange filterkommandoer som awk, grep, sed, spell og wc. Et filter tar innspill fra én kommando, gjør noe prosessering og gir utdata.
Når du overfører to kommandoer, blir den "filtrerte" utgangen fra den første kommandoen gitt til den neste.
La oss forstå dette ved hjelp av et eksempel.
Vi har følgende fil 'eksempel'
Vi ønsker å fremheve bare linjene som ikke inneholder tegnet 'a', men resultatet skal være i omvendt rekkefølge.
Til dette kan følgende syntaks brukes.
cat sample | grep -v a | sort - r
La oss se på resultatet.
Sammendrag:
- Rør '|' sende utdata fra en kommando som input til en annen kommando.
- Filteret tar innspill fra én kommando, gjør noe prosessering og gir utdata.
- grep-kommandoen kan brukes til å finne strenger og verdier i et tekstdokument
- Piping gjennom grep må være en av de vanligste bruksområdene
- 'sort'-kommandoen sorterer innholdet i en fil alfabetisk
- mindre, pg og flere kommandoer brukes for å dele en lang fil i lesbare biter