Hva er P -alternativet i SED?

Hva er P -alternativet i SED?
I Unix/Linux, sed (Stream Editor) Kommandoer og transformerer tekster ved hjelp av vanlige uttrykk. Det er et av de aller første verktøyene for å støtte vanlige uttrykk. I dag, sed er en del av UNIX -spesifikasjonen, og dermed tilgjengelig på alle Modern UNIX/Linux -systemene som standard.

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.

  • p: sed vil skrive ut alt innholdet i det nåværende mønsterområdet.
  • P: sed vil bare skrive ut den første datalinjen i det nåværende mønsterområdet.

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!