Pipe, Grep og Sort Command i Linux/Unix med eksempler
Hvad er et rør i Linux?
The Pipe er en kommando i Linux, der lader dig bruge to eller flere kommandoer, således at output fra en kommando tjener som input til den næste. Kort sagt, output fra hver proces direkte som input til den næste som en pipeline. Symbolet '|' betegner et rør.
Pipes hjælper dig med at mash-up to eller flere kommandoer på samme tid og køre dem fortløbende. Du kan bruge kraftfulde kommandoer, som kan udføre komplekse opgaver i et snuptag.
Lad os forstå dette med et eksempel.
Når du bruger 'cat'-kommandoen til at se en fil, der strækker sig over flere sider, springer prompten hurtigt til den sidste side i filen, og du kan ikke se indholdet i midten.
For at undgå dette kan du overføre outputtet fra 'cat'-kommandoen til 'less', som kun viser dig én rullelængde af indhold ad gangen.
cat filename | less
En illustration ville gøre det klart.
Klik link. hvis videoen ikke er tilgængelig
'pg' og 'more' kommandoer
I stedet for 'mindre' kan du også bruge.
cat Filename | pg
or
cat Filename | more
Og du kan se filen i fordøjelige stykker og rulle ned ved blot at trykke på Enter-tasten.
Kommandoen 'grep'
Antag, at du vil søge efter en bestemt information postnummeret fra en tekstfil.
Du kan selv skimme indholdet manuelt for at spore oplysningerne. En bedre mulighed er at bruge kommandoen grep. Den scanner dokumentet for den ønskede information og præsenterer resultatet i det format, du ønsker.
Syntaks:
grep search_string
Lad os se det i aktion –
Her, grep kommandoen har søgt i filen 'sample' efter strengen 'Apple' og 'Eat'.
Følgende muligheder 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 | Match begge (store og små) bogstaver |
-l | Viser kun navnet på filen med strengen |
Lad os prøve den første mulighed '-jeg' på samme fil brug ovenfor –
Ved at bruge 'i'-indstillingen har grep filtreret strengen 'a' (uafhængig af store og små bogstaver) fra alle linjerne.
Kommandoen 'sort'
Denne kommando hjælper med sortering af indholdet af en fil alfabetisk.
Syntaksen for denne kommando er:
sort Filename
Overvej indholdet af en fil.
Brug af sorteringskommandoen
Der er udvidelser til denne kommando også, og de er anført nedenfor.
Option | Funktion |
---|---|
-r | Reverses sortering |
-n | Sorterer numerisk |
-f | Ufølsom sortering |
Eksemplet nedenfor viser omvendt sortering af indholdet i filen 'abc'.
Hvad er et filter?
Linux har en masse filterkommandoer som awk, grep, sed, spell og wc. Et filter tager input fra en kommando, udfører en vis behandling og giver output.
Når du piper to kommandoer, gives det "filtrerede" output fra den første kommando til den næste.
Lad os forstå dette ved hjælp af et eksempel.
Vi har følgende fil 'eksempel'
Vi ønsker at fremhæve kun 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.
Sammendrag:
- Rør '|' sende output fra en kommando som input af en anden kommando.
- Filteret tager input fra én kommando, udfører en vis behandling og giver output.
- grep-kommandoen kan bruges til at finde strenge og værdier i et tekstdokument
- Piping gennem grep skal være en af de mest almindelige anvendelser
- 'sort'-kommandoen sorterer indholdet af en fil alfabetisk
- mindre ,pg og flere kommandoer bruges til at opdele en lang fil i læsbare bits