Pipe, Grep og Sort Command i Linux/Unix med eksempler
โก Smart opsummering
Pipe-, grep- og sort-kommandoer i Linux og Unix kรฆder og filtrerer tekst: en pipe fรธrer outputtet fra รฉn kommando til den nรฆste, grep sรธger efter mรธnstre, og sort arrangerer linjer, mens filtre transformerer dataene mellem dem.

Pipes, grep og sort er blandt de mest brugte vรฆrktรธjer pรฅ Linux kommandolinjen, fordi de lader dig forbinde smรฅ kommandoer til รฉn effektiv arbejdsgang. Denne side forklarer hver enkelt med eksempler og viser derefter, hvordan filtre binder dem sammen.
Hvad er et rรธr i Linux?
Pipe er en kommando i Linux, der lader dig bruge to eller flere kommandoer, sรฅledes at outputtet fra รฉn kommando fungerer som input til den nรฆste. Kort sagt, outputtet fra hver proces sendes direkte som input til den nรฆste, ligesom en pipeline. Symbolet '|' betegner en pipe.
Pipes hjรฆlper dig med at blande to eller flere kommandoer pรฅ samme tid og kรธre dem efter hinanden. Du kan bruge kraftfulde kommandoer, der udfรธrer komplekse opgaver pรฅ et รธjeblik.
Lad os forstรฅ dette med et eksempel.
Nรฅr du bruger kommandoen 'cat' til at se en fil, der strรฆkker sig over flere sider, hopper prompten hurtigt til den sidste side i filen, og du ser ikke indholdet i midten.
For at undgรฅ dette kan du overfรธre outputtet fra kommandoen 'cat' til 'less', hvilket kun viser dig รฉn scroll-lรฆngde af indhold ad gangen.
cat filename | less
En illustration ville gรธre det klart. Diagrammet nedenfor viser, hvordan en pipe sender outputtet fra รฉn kommando til den nรฆste.
'pg' og 'more' kommandoer
I stedet for 'less' kan du ogsรฅ bruge kommandoen pg eller more:
cat Filename | pg
or
cat Filename | more
Du kan derefter se filen i overskuelige dele og rulle ned ved blot at trykke pรฅ Enter-tasten. Skรฆrmbilledet nedenfor viser en fil, der er รฅbnet med kommandoen "more".
Kommandoen 'grep'
Forestil dig, at du vil sรธge efter bestemte oplysninger, f.eks. et postnummer, i en tekstfil.
Du kan selv skimme indholdet manuelt for at trace informationen. En bedre mulighed er at bruge grep kommandoen. Den scanner dokumentet for de รธnskede oplysninger og prรฆsenterer resultatet i det รธnskede format.
Syntaks:
grep search_string
Lad os se det i aktion. Skรฆrmbilledet nedenfor viser resultatet af sรธgningen.
Her har grep-kommandoen sรธgt i filen 'sample' efter strengene 'Apple' og 'Eat'. Fรธlgende indstillinger kan bruges med denne kommando.
| Option | Funktion |
|---|---|
| -v | Viser alle de linjer, der ikke matcher den sรธgte streng |
| -c | Viser kun antallet af matchende linjer |
| -n | Viser den matchende linje og dens nummer |
| -i | Matcher bรฅde store og smรฅ bogstaver |
| -l | Viser kun navnet pรฅ filen med strengen |
Lad os prรธve '-i'-funktionen pรฅ den samme fil, som blev brugt ovenfor. Skรฆrmbilledet nedenfor viser resultatet, der ikke skelner mellem store og smรฅ bogstaver.
Ved at bruge '-i'-funktionen har grep filtreret strengen 'a' (ikke-sanskel) fra alle linjerne.
Kommandoen 'sort'
Denne kommando hjรฆlper med at sortere indholdet af en fil alfabetisk.
Syntaksen for denne kommando er:
sort Filename
Overvej indholdet af en fil, vist med cat nedenfor.
Ved at kรธre sorteringskommandoen arrangeres disse linjer i alfabetisk rรฆkkefรธlge, som vist nedenfor.
Der er ogsรฅ udvidelser til denne kommando, og de er anfรธrt nedenfor.
| Option | Funktion |
|---|---|
| -r | Reversesortering |
| -n | Sorterer numerisk |
| -f | Sortering uden forskel pรฅ store og smรฅ bogstaver |
Eksemplet nedenfor viser omvendt sortering af indholdet i filen 'abc'.
Hvad er et filter?
Linux har mange filterkommandoer sรฅsom awk, grep, sed, spell og wc. Et filter tager input fra รฉn kommando, udfรธrer noget behandling og giver output.
Nรฅr du piper to kommandoer, gives det 'filtrerede' output fra den fรธrste kommando til den nรฆste. Diagrammet nedenfor illustrerer, hvordan et filter passer ind i en pipeline.
Lad os forstรฅ dette ved hjรฆlp af et eksempel. Vi har fรธlgende fil 'eksempel', vist med cat nedenfor.
Vi รธnsker kun at fremhรฆve de linjer, der ikke indeholder tegnet 'a', men resultatet skal vรฆre i omvendt rรฆkkefรธlge. Til dette kan fรธlgende syntaks bruges:
cat sample | grep -v a | sort -r
Lad os se pรฅ resultatet, vist pรฅ skรฆrmbilledet nedenfor.







.png)
.png)

