Brug GNU grep til at udtrække matchede grupper fra udtryk - Sådan gør du!

Er det muligt at bruge GNU grep til at få en matchet gruppe fra et udtryk, eksempelvis for at få "bar" fra "foo 'bar'" uden at skulle sende det gennem grep igen?

Mulighed for at bruge GNU grep til at få en matchet gruppe fra et udtryk kræver brug af PCRE med flaget -P og -o, men for mere avancerede behov kan værktøjer som sed eller awk være mere passende.

Mulighed for at bruge GNU grep til at få en matchet gruppe fra et udtryk

Ja, det er muligt at bruge GNU grep til at få en matchet gruppe fra et udtryk, men det kræver en lidt anderledes tilgang, da GNU grep ikke direkte understøtter udtrækning af grupper som nogle andre værktøjer gør. Her er nogle metoder til at opnå dette:

  • Brug af Perl-kompatibel regulær udtryk (PCRE):
    • GNU grep understøtter PCRE med flaget -P.
    • Du kan bruge -o flaget til at udtrække den matchede del af udtrykket.
    • Eksempel: echo "foo 'bar'" | grep -oP "(?<=foo ')[^']+(?=')"
  • Brug af lookbehind og lookahead:
    • Lookbehind og lookahead kan bruges til at matche tekst uden at inkludere den i resultatet.
    • Eksempel: echo "foo 'bar'" | grep -oP "(?<=foo ')[^']+(?=')"
  • Alternativ værktøjer:
    • For mere avancerede behov kan værktøjer som sed eller awk være mere passende.
    • Eksempel med sed: echo "foo 'bar'" | sed -n "s/foo '\([^']*\)'/\1/p"
    • Eksempel med awk: echo "foo 'bar'" | awk -F"'" '{print $2}'

Selvom GNU grep kan bruges til at udtrække matchede grupper, kan det være mere effektivt at bruge værktøjer, der er designet til denne type opgaver, afhængigt af kompleksiteten af dit behov.

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker