Pipe, Grep och Sort Command i Linux / Unix med exempel

Innehållsförteckning:

Anonim

I den här handledningen lär vi oss-

  • Vad är ett rör i Linux?
  • kommandona 'pg' och 'more'
  • Kommandot "grep"
  • Kommandot 'sortera'
  • Vad är ett filter?

Vad är ett rör i Linux?

Pipe är ett kommando i Linux som låter dig använda två eller flera kommandon så att utdata från ett kommando fungerar som inmatning till nästa. Kort sagt, produktionen från varje process direkt som inmatning till nästa som en pipeline. Symbolen '|' betecknar ett rör.

Rör hjälper dig att mash-up två eller flera kommandon samtidigt och köra dem i följd. Du kan använda kraftfulla kommandon som kan utföra komplexa uppgifter i ett ögonblick.

Låt oss förstå detta med ett exempel.

När du använder kommandot 'cat' för att visa en fil som sträcker sig över flera sidor hoppar meddelandet snabbt till sista sidan i filen och du ser inte innehållet i mitten.

För att undvika detta kan du leda utmatningen från kommandot 'cat' till 'less', vilket visar dig bara en rullningslängd av innehåll åt gången.

cat filename | less 

En illustration skulle göra det tydligt.

Klicka här om videon inte är tillgänglig

kommandona 'pg' och 'more'

Istället för "mindre" kan du också använda.

cat Filename | pg 

eller

cat Filename | more

Och du kan visa filen i smältbara bitar och bläddra ner genom att helt enkelt trycka på Enter-tangenten.

Kommandot "grep"

Antag att du vill söka efter en viss information i postnumret från en textfil.

Du kan skumma innehållet manuellt för att spåra informationen. Ett bättre alternativ är att använda kommandot grep. Det skannar dokumentet efter önskad information och presenterar resultatet i det format du vill ha.

Syntax:

grep search_string

Låt oss se det i aktion -

Här har grep- kommandot sökt i filen 'sample', efter strängen 'Apple' och 'Eat'.

Följande alternativ kan användas med detta kommando.

Alternativ Fungera
-v Visar alla rader som inte matchar den sökta strängen
-c Visar endast antalet rader som matchar
-n Visar matchande rad och dess nummer
-i Matcha både stora och små bokstäver
-l Visar bara namnet på filen med strängen

Låt oss prova det första alternativet '-i' på samma filanvändning ovan -

Med alternativet 'i' har grep filtrerat strängen 'a' (skiftlägeskänslig) från alla rader.

Kommandot 'sortera'

Detta kommando hjälper till att sortera innehållet i en fil alfabetiskt.

Syntaxen för detta kommando är:

sort Filename

Tänk på innehållet i en fil.

Med hjälp av sorteringskommandot

Det finns även tillägg till detta kommando, och de listas nedan.

Alternativ

Fungera

-r

Omvänd sortering

-n

Sorterar numeriskt

-f

Skiftlägeskänslig sortering

Exemplet nedan visar omvänd sortering av innehållet i filen 'abc'.

Vad är ett filter?

Linux har många filterkommandon som awk, grep, sed, stavning och wc. Ett filter tar inmatning från ett kommando, bearbetar och ger utdata.

När du rör två kommandon ges den "filtrerade" utgången från det första kommandot till nästa.

Låt oss förstå detta med hjälp av ett exempel.

Vi har följande fil 'exempel'

Vi vill bara markera de rader som inte innehåller tecknet 'a', men resultatet ska vara i omvänd ordning.

För detta kan följande syntax användas.

cat sample | grep -v a | sort - r

Låt oss titta på resultatet.

Sammanfattning:

  • Rör '|' skicka utdata från ett kommando som inmatning av ett annat kommando.
  • Filtret tar inmatning från ett kommando, bearbetar och ger utdata.
  • Grep-kommandot kan användas för att hitta strängar och värden i ett textdokument
  • Piping genom grep måste vara en av de vanligaste användningarna
  • kommandot 'sortera' sorterar innehållet i en fil alfabetiskt
  • mindre, pg och fler kommandon används för att dela en lång fil i läsbara bitar