Mens det er mange måter å bruke på sed, Vi vil se på P alternativ (med eksempler) i denne guiden.
Grunnleggende SED -bruk
Denne delen vil tilby en rask oppfriskning av de grunnleggende bruken av sed kommando.
Kommandostrukturen til sed er som følgende:
$ sed
I de fleste tilfeller, sed brukes til substitusjonsfunksjonen. Ta en titt på følgende eksempel:
$ ECHO "The Quick Brown Fox" | sed -e 's/hurtig/rask/'
Her, The sed Kommandoen opererer på innholdet i Stdout fra ekko kommando. Lær mer om Stdin, Stderr og Stdout i Linux. I utgangen erstattes begrepet "rask" med "rask".
Hvis vi ønsket å utføre denne operasjonen på en tekstfil, ville kommandoen se slik ut:
$ sed -e 's/hurtig/hurtig/g' sed -demo.tekst
Merk at det opprinnelige innholdet i filen ikke ble endret. For å endre filinnholdet på stedet, må vi legge til "-i" -flagget. Ta en titt på følgende kommando:
$ katt sed-demo.tekst
$ sed -i -e 's/hurtig/hurtig/g' sed -demo.tekst
$ katt sed-demo.tekst
Legg merke til at vi også måtte legge til g alternativ i uttrykket slik at sed Ser etter mønsterkamper på hele strømmen og utfører oppgaven som er spesifisert.
P -alternativet i SED
For å endre hvordan sed håndterer forskjellige strømmer, det er mange alternativer tilgjengelig. Vi utforsket bruken av g alternativ i sammenheng med sed'S substitusjonsfunksjon. De P Alternativ brukes imidlertid bare til å søke i et mønster.
Legg merke til at det er store bokstaver P. Små små P spesifiserer et annet alternativ i sed. Alle disse alternativene skal brukes i mønsterspesifikasjonen.
Husk hvordan sed skriver ut utgangen fra strømmenes modifisering på konsollen som standard? Med hjelp av p og P Alternativer, vi kan kontrollere hvilket innhold SED vil skrive ut på konsollen.
For å skrive ut bare den første linjen, kan vi for eksempel bruke følgende teknikk:
ekko “linje 1
Dette er linje 2 ”| sed -n '1p'
Dette kan også oppnås ved bruk av p alternativ:
ekko “linje 1
Dette er linje 2 ”| sed -n '1p'
Vi kan imidlertid merke forskjellen i atferden deres hvis vi inkluderer 2 linjer i bufferen og trykke dem begge:
ekko “linje 1
Dette er linje 2 ”| sed -n '1 n; P '
Her var det to linjer i bufferen, men vi skrev bare ut den første fordi vi bruker P alternativ.
Konklusjon
I denne guiden utforsket vi P alternativet i sed og utforsket et par måter å implementere det på. Dette er bare en av de mange måtene å bruke på sed. Denne guiden demonstrerer å utføre flere SED -erstatninger. Kraften av sed stammer fra implementeringen av regelmessige uttrykk. Finn ut mer om Regelmessige uttrykk i SED.
Samtidig som sed kan finne redigering av tekststrømmer, hvis du bare trenger å søke etter et bestemt mønster, da grep er det optimale valget. Foruten dens grunnleggende bruk, grep Kommandoen støtter avanserte funksjoner som å ekskludere visse elementer, flere strengmønstre og mer. Forbedre din mestring av grep Kommando med 30 grep eksempler.
Glad databehandling!