petterg Skrevet 7. oktober 2004 Del Skrevet 7. oktober 2004 Jeg sliter med å skjønne dokumentasjonen til reg.expr. Skal bruke det sammen med bash kommandoen 'expr'. Dvs at det er litt mer escaping å ta hensyn til enn f.x. tilsvarende uttrykk i php, men ellers ganske likt. Si at man har tekstene [tilfeldig tekst] til [MOTAKER] [tilfeldig tekst] [tilfeldig tekst] TIL [MOTAKER] [tilfeldig tekst] [tilfeldig tekst] Til [MOTAKER] [tilfeldig tekst] [tilfeldig tekst] Fra [MOTAKER] [tilfeldig tekst] [tilfeldig tekst] FRA [MOTAKER] [tilfeldig tekst] [tilfeldig tekst] fra [MOTAKER] [tilfeldig tekst] Jeg skal da finne hva som står i feltet [MOTAKER]. For å gjøre det må jeg søke etter tekstene TIL eller FRA, og det kan ikke være case-sensitiv. Det beste jeg har klart å komme opp med er .* [tTfF][iIrR][lLaA] \(.*\) .* Men den vil også match andre ord, som f.x. TRA, FIL, osv. Det er altså ingen god løsning. Noen forslag til hvordan man kan søke etter det ene ordet, eller det andre, case-insensitivt? (Det er 100% sikkert at ordene TIL/FRA ikke forekommer andre steder i teksten.) Lenke til kommentar
Velmont Skrevet 8. oktober 2004 Del Skrevet 8. oktober 2004 kan du ikke bruke (til|Til|TIL|fra|Fra|FRA) ? Lenke til kommentar
petterg Skrevet 11. oktober 2004 Forfatter Del Skrevet 11. oktober 2004 Får ikke til det med grupering i bash! (Det funka i php, men det hjelper meg ingenting!) Lenke til kommentar
Ganske Skrevet 11. oktober 2004 Del Skrevet 11. oktober 2004 Det kan jo henda du har ein god grunn til å bruka expr, men det kan jo òg henda at sed er betre eigna Basert på det du har sagt så langt om problemstillinga, ville eg brukt noko slikt: sed 's/.* \(til\|fra\) \([^ ]*\) .*/\2/i' Det fungerer med alle dei tekstane du oppgav, gitt at det er eit mellomrom som skil "[MOTAKER]" frå resten av teksten på linja: $ echo '[tilfeldig tekst] TIL [MOTAKER] [tilfeldig tekst]' | sed 's/.* \(til\|fra\) \([^ ]*\) .*/\2/i' [MOTAKER] $ echo '[tilfeldig tekst] Fra [MOTAKER] [tilfeldig tekst]' | sed 's/.* \(til\|fra\) \([^ ]*\) .*/\2/i' [MOTAKER] Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå