Pipe, Grep og Sort Command i Linux/Unix med eksempler
⚡ Smart oppsummering
Pipe-, grep- og sort-kommandoer i Linux og Unix kjeder og filtrerer tekst: en pipe mater utdataene fra én kommando til den neste, grep søker etter mønstre og sort arrangerer linjer, mens filtre transformerer dataene mellom dem.

Pipes, grep og sort er blant de mest brukte verktøyene på Linux kommandolinjen, fordi de lar deg koble sammen små kommandoer til én kraftig arbeidsflyt. Denne siden forklarer hver enkelt med eksempler, og viser deretter hvordan filtre knytter dem sammen.
Hva er en pipe i Linux?
Pipe er en kommando i Linux som lar deg bruke to eller flere kommandoer slik at utdataene fra én kommando fungerer som input til den neste. Kort sagt, utdataene fra hver prosess mates direkte som input til den neste, som en pipeline. Symbolet '|' betegner en pipe.
Pipes hjelper deg med å blande to eller flere kommandoer samtidig og kjøre dem etter hverandre. Du kan bruke kraftige kommandoer som utfører komplekse oppgaver på et blunk.
La oss forstå dette med et eksempel.
Når du bruker kommandoen «cat» for å vise en fil som strekker seg over flere sider, hopper ledeteksten raskt til den siste siden i filen, og du ser ikke innholdet i midten.
For å unngå dette kan du sende utdataene fra «cat»-kommandoen til «less», som bare viser én rullelengde med innhold om gangen.
cat filename | less
En illustrasjon ville gjort det klart. Diagrammet nedenfor viser hvordan en pipe sender utdataene fra én kommando til den neste.
'pg' og 'more' kommandoer
I stedet for «less» kan du også bruke pg eller more-kommandoen:
cat Filename | pg
or
cat Filename | more
Du kan deretter se filen i oversiktlige deler og bla nedover ved å trykke på enter-tasten. Skjermbildet nedenfor viser en fil som er åpnet med kommandoen «more».
'grep'-kommandoen
Anta at du vil søke etter bestemt informasjon, for eksempel et postnummer, i en tekstfil.
Du kan skumlese innholdet manuelt selv for å tracinformasjonen. Et bedre alternativ er å bruke grep kommandoen. Den skanner dokumentet for ønsket informasjon og presenterer resultatet i formatet du ønsker.
Syntaks:
grep search_string
La oss se det i aksjon. Skjermbildet nedenfor viser resultatet av søket.
Her har grep-kommandoen søkt i filen «sample» etter strengene «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 | Matcher både store og små bokstaver |
| -l | Viser bare navnet på filen med strengen |
La oss prøve alternativet '-i' på den samme filen som ble brukt ovenfor. Skjermbildet nedenfor viser resultatet uten å skille mellom store og små bokstaver.
Ved å bruke alternativet '-i' har grep filtrert strengen 'a' (ikke-skillende mellom store og små bokstaver) fra alle linjene.
'Sort'-kommandoen
Denne kommandoen hjelper med å sortere innholdet i en fil alfabetisk.
Syntaksen for denne kommandoen er:
sort Filename
Tenk på innholdet i en fil, vist med katt nedenfor.
Når du kjører sorteringskommandoen, ordnes linjene i alfabetisk rekkefølge, som vist nedenfor.
Det finnes også utvidelser til denne kommandoen, og de er listet opp nedenfor.
| Alternativ | Funksjon |
|---|---|
| -r | Reversesortering |
| -n | Sorterer numerisk |
| -f | Sortering uten å skille mellom 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 input fra én kommando, utfører noe behandling og gir output.
Når du sender to kommandoer, blir den «filtrerte» utdataene fra den første kommandoen gitt til den neste. Diagrammet nedenfor illustrerer hvordan et filter passer inn i en pipeline.
La oss forstå dette ved hjelp av et eksempel. Vi har følgende fil 'eksempel', vist med cat nedenfor.
Vi ønsker å markere bare linjene som ikke inneholder tegnet 'a', men resultatet skal være i omvendt rekkefølge. For dette kan følgende syntaks brukes:
cat sample | grep -v a | sort -r
La oss se på resultatet, vist på skjermbildet nedenfor.







.png)
.png)

