Sed eksempler på fangstgrupper

Sed eksempler på fangstgrupper
Tekstfilhåndteringsoperasjoner spiller en viktig rolle i dagliglivet til en datamaskinbruker for å håndtere tekst er en vanlig blant brukerne av alle yrker. Linux og dens distros gir en rekke verktøy og kommandolinjeverktøy for å få tilgang til og administrere tekstfiler som standard redigeringsprogram, Vim, Nano. Disse verktøyene hjelper til med å redigere, slette, erstatte, teksten i tekstfiler; Imidlertid må brukerne åpne filen ved hjelp av noen av disse redaktørene og utføre endringene som skal gjøres manuelt.

Det er en annen kjent redaktør kjent som “Stream Editor (SED)”; SED -kommandolinjeverktøyet til Ubuntu gir en omfattende støtte for å administrere tekstfiler; Dette verktøyet er rangert i øverste redaktører på grunn av de avanserte funksjonene som det tilbyr mens de arbeider med tekstfiler. Årsaken bak dens popularitet er en linjekommandooperasjon: som betyr at den kan administrere tekstfiler ved hjelp av terminal og brukerne trenger ikke å åpne og redigere noen tekstfil manuelt. Fangstgruppe refererer til et annet avansert trekk ved dette verktøyet; Gruppen som fanger funksjonaliteten til SED lar brukeren få den spesifikke delen av en tekstfil eller en linje. I denne detaljerte guiden har vi kort beskrevet begrepet fangstgruppering, dets arbeid og bruk med SED.

For det første vil vi få litt dyp innsikt i fangstgruppene, og så fortsetter vi med bruken med SED:

Så la oss starte dagens guide:

Hvordan fangstgrupper fungerer

Som diskutert ovenfor, er fangstgrupper den spesifikke delen av hvilken som helst linje, eller tekstfil. Det kan være et av følgende formål bak fangstgruppene:

  • For å fange opp informasjonen
  • Manipulere teksten for spesifikk kamp

Den kan brukes til å få pinpoint -informasjonen ved å søke i den spesifikke delen i en tekstfil, så vel som manipulasjonsoperasjonene kan også utføres på den spesifikke kampen.

Hvordan lage fangstgrupper ved å bruke SED -kommando i Ubuntu

Fangstgruppene i SED er dannet ved å bruke parentes på vanlige uttrykk eller operasjonen som brukeren ønsker å utføre. For å lage fangstgrupper må du for eksempel sette parentes som "\ (" ved start og "\)" på slutten av et spesifikt vanlig uttrykk:

Kort sagt, Capture Group brukes til å ta den spesifikke delen av linjen, tekstfilen og deretter utføre en operasjon på den gruppen:

De kommende eksemplene viser bruken av fangstgrupper som bruker SED -kommando; Eksempler varierer fra grunnleggende til avansert nivå.

Fanger enkeltgruppe ved hjelp av SED -kommando

Kommandoen skrevet nedenfor vil fange ordet “Hallo”Og erstatt deretter ordet som oppstår etter det (“sed!”) Med“Linuxhint”: Du har kanskje lagt merke til at fangstgruppe er innelukket i parentesuttrykk“ \(”Og“ \)”.

$ ekko hei sed! | sed 's/\ (hei \) sed!/\ 1 linuxhint/'

Fange flere grupper som bruker SED -kommando

SED -kommandoen lar deg fange flere grupper og deretter utføre operasjonen på den gruppen. For eksempel vil kommandoen nevnt nedenfor fange og skrive ut bare utvalgte grupper. Det observeres at fangstgrupper kan kalles ved å tilordne dem et ordrenavn:

I ekko -delen av denne kommandoen er tre distribusjoner og en foreldre Linux plassert, i.e., Totalt fire oppføringer: Imidlertid har vi i SED -kommandoen bare kalt 1,2 og 3 grupper i omvendt rekkefølge. Utgangen viser at bare tre grupper skrives ut i omvendt rekkefølge mens "Fedora”Holder sin opprinnelige posisjon:

$ Echo Ubuntu Debian Linux Fedora | sed 's/\ (ubuntu \) \ (debian \) \ (linux \)/\ 3 \ 2 \ 1/'

Fange grupper av komplekse uttrykk

La oss si at vi har et uttrykk som inneholder alfanumeriske nøkkelord; Vi må lage grupper og deretter skrive dem ut i hvilken som helst (omvendt/normal) rekkefølge. Kommandoen gitt nedenfor viser at uttrykket inneholder alfanumeriske nøkkelord; Vi har laget grupper av alle tre alfanumeriske ord og vist deretter disse ordene i omvendt rekkefølge:

Merk: Den samme kommandoen kan brukes ved å erstatte “\w\w*”Med“[[: Alnum:] _] \ 1, \”:

$ Echo Linuxhint 123 Capture_Groups | sed 's/\ (\ w \ w*\) \ (\ w \ w*\) \ (\ w \ w*\)/\ 3 \ 2 \ 1/'

Kommandoen over inneholder fangstgrupper “\ (\ w \ w*\)”; Disse fungerer for alfanumeriske nøkkelord. Du kan utføre kommandoen ovenfor ved å bruke den alfanumeriske karakterklassen som fangstgruppe. For eksempel vil kommandoen nevnt nedenfor gi samme utgang når alfanumerisk karakterklasse brukes som fangstgruppe:

$ Echo Linuxhint 123 Capture_Groups | sed 's/\ ([[: alnum:] _] \ 1, \ \) \ ([[: alnum:] _] \ 1, \ \) \ ([[: alnum:] _] \ 1, \ \)/\ 3 \ 2 \ 1/'

Konklusjon

SED Command Line Utility gir detaljert veiledning for å håndtere tekstfiler ved hjelp av kommandolinjeterminal; Denne redaktøren kan være vanskelig å betjene, men når du graver deg inn i detaljene, vil du synes det er lett å forstå og bruke. Dessuten letter de avanserte funksjonalitetene prosessen med å manipulere og administrere tekstfilene; som vanlige uttrykk og gruppefangst. I denne artikkelen har vi festet konseptet med fangstgrupper i SED; og ga den grundige bruken ved å referere til noen få eksempler. Fangstgruppene er ganske nyttige, spesielt når du har veldig store tekstfiler og ønsker å identifisere spesifikt innhold fra disse filene.