Linux Pipe Command med eksempler

Linux Pipe Command med eksempler
'Pipe' -kommandoen brukes i både UNIX og Linux -operativsystemer. Rør hjelper med å kombinere to eller flere kommandoer og brukes som inngangs-/utgangskonsepter i en kommando. I Linux -operativsystemet bruker vi mer enn ett rør i kommandoen slik at utgangen fra den ene kommandoen før et rør fungerer som inngang for den andre kommandoen etter røret. I denne artikkelen har vi diskutert mange eksempler for å forstå den grunnleggende funksjonaliteten til rør.

Forutsetninger

For å bruke rørkommandoer på Linux, må du ha et Linux -miljø i systemet ditt. Dette kan gjøres ved å laste ned en virtuell boks og konfigurere en Ubuntu -fil på den. Brukere må ha privilegier for å få tilgang til applikasjonene som kreves.

Syntaks

Kommando 1 | Kommando 2 | Kommando 3 | ..

Sorter listen ved hjelp av rør

Røret har mye funksjonalitet som brukes til å filtrere, sortere og vise teksten i listen. Et av de vanlige eksemplene er beskrevet her. Anta at vi har en fil som heter File1.txt som har navnene på studentene. Vi har brukt CAT -kommandoen til å hente posten til den filen.

$ Kattefil1.tekst

Dataene som er til stede i denne filen er uordnet. Så for å sortere dataene, må vi følge et kodestykke her.

$ Kattefil1.txt | sortere

Gjennom den respektive utgangen kan du se at studentenes navn er ordnet alfabetisk i en sekvens fra A til Z.

Ved siden av dette. Anta at vi ønsker å få en utgang i sortert form pluss å fjerne redundans. Vi vil bruke den samme kommandoen og et "uniq" nøkkelord i tillegg til standardkommandoen. La oss vurdere en fil som heter File2.txt har navnene på fag i det. Den samme kommandoen brukes til å hente data.

$ Kattefil2.tekst

Nå vil vi bruke kommandoen for å fjerne alle ordene som er duplisert i filen.

$ Kattefil2.txt | Sorter | uniq

Utgangen viser at elementene er organisert og ordnet alfabetisk. Samtidig fjernes alle ordene som ble duplisert. Kommandoen ovenfor vil bare vise utdataene, men vi vil bruke kommandoen nedenfor for å redde dem.

$ kattefil2.txt | Sorter | UNIQ> LIST4.tekst

Utgangen vil bli lagret i en annen fil med samme utvidelse.

Vis fildata for et tilsvarende område

Det er veldig irriterende når du bare vil få noen data fra starten av, men kommandoen gir deg alle matchende elementer i systemet ditt. Du kan bruke nøkkelordet "Head". Det hjelper til med å begrense utdataene dine med noe område. Jeg.e., I dette eksemplet har vi erklært rekkevidden opp til 4. Så dataene vil være fra de fire første linjene i filen. Tenk på den samme filfilen2.txt som vi har tatt et eksempel ovenfor.

$ Kattefil2.txt | Hode -4

Ligner på hodet, kan vi også bruke halealternativet. Dette vil begrense utgangen til de siste linjene i henhold til det gitt område.

Rør og mer kommando

Ved å bruke mer kommando vises all utdata om gangen på skjermen. Røret fungerer som en beholder og viser alle utgangsdataene som en inngang av LS-L. Fordi utdataene er en lang liste over filer.

$ ls -al | mer

LS brukes til å vise alle mulige data fra den respektive kommandoen. Den viser først det totale antallet data relatert til den tilsvarende spørringen.

Tell antall filer

Det er et vanlig behov å vite antall filer som for øyeblikket er til stede. Og det er ikke nødvendig å bruke grep- eller kattkommandoen for å hente data av alle typene. Vi kan bruke rør i dette tilfellet heller. Kommandoen som brukes er skrevet som:

$ ls | wc -l

Mens WC er "ordtelling" som brukes til å telle filene som er til stede.

Prosessidentifikasjon

Mange kompliserte oppgaver utføres også ved å bruke røret i våre kommandoer. Kommandoen vi diskuterer nå brukes til å vise prosess -ID -ene for SystemD -prosessene.

$ ps -ef | grep systemd | awk 'skriv ut $ 2'

AWK -kommandoens $ 2 viser dataene på $ 2 som er den andre kolonnen.

Få underkataloger ved hjelp av rør

En av rørledningskommandoene vi har brukt for å få alle de nåværende underkatalogene i den gjeldende katalogen er et av rørspørsmålene i rørledningskommandoene vi har brukt. Vi har brukt GREP -kommandoen her. GREP fungerer bare for å vise dataene som starter fra 'D'. Røret vil hjelpe deg med å hente de respektive dataene fra alle katalogene. '^d' brukes her.

$ ls -al | grep '^d'

Få filer ved hjelp av Pipe

For å få filene fra systemet med respektive utvidelser, kan vi få dette ved å bruke røret i våre kommandoer. Det første eksemplet er å finne Java -filene i systemet. 'Funnet' og 'grep' hjelper til med å få filene til respektive utvidelser.

$ lokaliser "*.Java ”| grep java

'*' brukes til å hente alle filene i systemet. For øyeblikket har vi en enkelt fil til stede i systemet vårt. Det andre eksemplet er å få filene med utvidelsen av teksten. Hele kommandoen er den samme, bare filforlengelsen er endret.

Bruk flere rør i en enkelt kommando

I dette eksemplet, i motsetning til de tidligere, har vi brukt mer enn ett rør i en enkelt kommando for å utdype dens funksjonalitet. Vurder en fil som heter File3.tekst.

Nå ønsker vi å få posten over ordet som stemte overens med navnet vi har gitt i kommandoen. Her brukes CAT -kommandoen til å hente dataene fra en bestemt fil. Grep brukes til å velge det spesifikke ordet fra filen. 'tee' brukes til å lagre resultatet i en annen fil. Og wc skal telle de resulterende dataene. Så resultatet vises nedenfor.

$ Kattefil3.txt | Grep “Yasin” | TEE File4.txt | wc -l

Ordet er matchet med det to innholdet. Vi kan vise dataene fra den nye prøvefilen for å vise hele resultatet, der resultatet blir lagret.

Hente spesielle data med rør

I dette eksemplet ønsker vi å få dataene fra filen som har 'H' i innholdet.

$ Kattefil3.txt | grep h

Resultatet viser at de hentet dataene er i henhold til søket etter 'H' -kommandoen. Beveger seg mot følgende eksempel. Her ønsker vi å hente elementene i filen som har 'i den, men vi har brukt en tilstand av saksfølsomhet. Både alfabeter i øvre og små og små bokstaver vil bli hentet.

$ Kattefil2.txt | grep -i s

Resultatet vises på bildet. Deretter vil vi vise studentenes navn som har alfabeter 'A' og 'T' kombinert i ordet. Resultatet er i det nedenfor siterte bildet.

$ kattefil1.txt | grep “a \+t”

Konklusjon

Artikkelen skildrer allsidigheten til røret i Linux -kommandoer. Imidlertid er det ganske enkelt, men fungerer på en måte å løse mange komplekse spørsmål. Dette kommandolinjeverktøyet er lett implementerbar og kompatibel med UNIX og Linux-operativsystemer.