Sida 1 av 1

Behålla text inom fnuttar: Vill att qwe "asd" blir asd

Postat: 08 aug 2009, 23:00
av TicToc
Jag har med hjälp av http://gskinner.com/RegExr/ gjort ett uttryck som jag tänkte använda med grep, syftet är att bara behålla text inom citationstecken.
(?<=\").*?(?=\")
ser ut att funka med text i demorutan på deras sida.
När jag försöker använda det med

Kod: Markera allt

grep -E (?<=\").*?(?=\") fil
får jag

Kod: Markera allt

bash: syntax error near unexpected token `('
jag har en lösning idag som bygger på sed -f strip.sed
där strip.sed innehåller
s/msgid //
s/msgstr //
s/"//
Vore smutt om det gick att skippa sed-anropet.

Re: Behålla text inom fnuttar: Vill att qwe "asd" blir asd

Postat: 09 aug 2009, 13:26
av gusse02
Har du provat att fnutta uttrycket?

Kod: Markera allt

grep -E "(?<=\").*?(?=\")" fil

Re: Behålla text inom fnuttar: Vill att qwe "asd" blir asd

Postat: 09 aug 2009, 13:34
av TicToc
Då sväljer han uttrycket utan protest, men jag får inte något resultat, dvs resultatet är tomt. Och uttrycket verkade stämma när jag byggde det.

Re: Behålla text inom fnuttar: Vill att qwe "asd" blir asd

Postat: 09 aug 2009, 13:52
av gusse02
Jag tror ditt problem är att du använder regexp som inte stöds av grep -E. Se man grep.

Re: Behålla text inom fnuttar: Vill att qwe "asd" blir asd

Postat: 09 aug 2009, 13:53
av gusse02
grep matchar ju på rader. Dvs. om den matchar så skrivs hela raden ut. Du verkar ju vilja strippa bort saker på raden. Kanske du skulle försöka med perl?