Hvordan rører du utgangen fra en kommando til en fil i Linux

Hvordan rører du utgangen fra en kommando til en fil i Linux
EN rør er en kommando som brukes av de fleste Linux -brukere for å omdirigere utdataene fra en kommando til en hvilken som helst fil. UNIX og Linux operativsystemer bruker denne kommandoen for å sende utdataene fra enhver prosess, utgang eller program som en inngang til en annen prosess. Disse operativsystemene tillater forbindelsen mellom stdout- og stdin -kommandoene. Rørkarakteren '|' kan brukes til gjennomføring av denne funksjonen.

Det er også mulig å tenke på det som en midlertidig, men direkte kobling mellom to eller flere prosesser, kommandoer eller programmer. Filtre er de kommandolinjeprogrammene som utfører tilleggsbehandlingen.

Denne direkte forbindelsen mellom prosesser eller kommandoer lar dem utføre og passere dataene mellom dem samtidig uten å møte bryet med å sjekke skjermbildet eller midlertidig tekstfiler. I rørledningen er strømmen av dataene fra venstre til høyre som erklærer at rør er ensrettet. La oss nå sjekke ut noen praktiske eksempler på å bruke rør i Linux.

Røring av listen over filer og kataloger:

I det første eksemplet har vi illustrert hvordan du kan bruke Pipe -kommandoen til å sende listen over kataloger og file som en "input" til mer kommandoer.

$ ls -l | mer

Her blir utdataene fra "LS" betraktet som innspill fra “MER” -kommandoen. Av gangen vises utgangen fra LS -kommandoen på skjermen som et resultat av denne instruksjonen. Røret gir beholderfunksjonen for å motta LS -kommandoproduksjonen og sende den til flere kommandoer som inngang.

Ettersom hovedminnet utfører rørimplementeringen, bruker ikke denne kommandoen platen for å lage en kobling mellom LS -L -standardutgangen til standardinngangen til More -kommandoen. Kommandoen ovenfor er analog med følgende kommandoserie når det.

$ ls -l> temp
$ mer < temp

Sjekk ut "Temp" -filinnholdet manuelt.

$ RM Temp

Sorter og utskrift unike verdier ved hjelp av rør:

Nå vil vi se et eksempel for bruk av rør for å sortere et filinnhold og skrive ut sine unike verdier. For dette formålet vil vi kombinere “Sorter” og “Uniq” -kommandoer med et rør. Men velg først hvilken fil som inneholder numeriske data, i vårt tilfelle har vi “Record.txt ”-fil.

Skriv ut kommandoen nedenfor, slik at du før rørledningsbehandling har en klar idé om fildataene.

$ kattekord.tekst

Nå vil utførelsen av den undergitte kommandoen sortere fildataene, mens de viser de unike verdiene i terminalen.

$ sorter -post.txt | uniq

Rørbruk med hode- og halekommandoer

Du kan også bruke "hode" og "hale" -kommandoer for å skrive ut linjer fra en fil i et bestemt område.

$ Cat Samplefile | Hode -7 | hale -5

Utførelsesprosessen for denne kommandoen vil velge de syv første linjene med "Samplefile" som en inngang og vil gi den til halekommandoen. Tail -kommandoen vil hente de siste 5 linjene fra “Samplefile” og vil skrive dem ut i terminalen. Flyten mellom kommandoutførelse er alt på grunn av rør.

Matcher et spesifikt mønster i matchende filer ved hjelp av rør

Rør kan brukes til å finne filer med en spesifikk utvidelse i den ekstraherte listen over LS -kommandoen.

$ ls -l | finne ./ -Type F -Name "*.tekst"

Rørkommando i kombinasjon med "grep", "tee" og "wc"

Denne kommandoen vil velge “Alex” fra “Record.txt ”-fil, og i terminalen vil den skrive ut det totale antallet forekomster av mønsteret“ Alex ”. Her kombinerte røret “Cat”, “grep”, “tee” og “wc” -kommandoer.

$ kattekord.txt | grep "Alex" | TEE File1.txt | wc -l
$ kattefil1.tekst

Konklusjon:

Et rør er en kommando som brukes av de fleste Linux -brukere for å omdirigere utdataene fra en kommando til en hvilken som helst fil. Rørkarakteren '|' kan brukes til å oppnå en direkte forbindelse mellom utgangen fra en kommando som en innspill fra den andre. I dette innlegget har vi sett forskjellige metoder for å røre utgangen fra en kommando til terminalen og filer.