Yo dawg, I heard you like posts so I posted below your post so you can post again.
In O'reilly's Sed & Awk boek kan ik niets vinden over het escapen/quoten van complete strings (a la Perls \Q). Maar je kun natuurlijk wel sed gebruiken om eerst alle karakters in je variabele zelf te escapen:
Vervolgens nestel je die in de originele sed expressie:
Niet mooi, niet leesbaar, maar werkt wel.
code:
1
| echo $def_c | sed "s/\(.\)/\\\\\1/g" |
Vervolgens nestel je die in de originele sed expressie:
code:
1
2
3
| cat $CERTSTORE/cert/$root/openssl.cnf | sed \ -e "s/%DEF_C%/`echo $def_c | sed 's/\(.\)/\\\\\1/g'`/g" (...) |
Niet mooi, niet leesbaar, maar werkt wel.
"Pas als het proces gecrashed is, dumpt men de core"
Het enige wat ik hoef te escapen is de "&" en eventueel de "\d", aangezien dat de twee specials zijn in de tweede string van de sed-subsitute, maar voor hetzelfde geld komen er later hier meer bij, of ben ik er een aantal vergeten. Het is dus makkelijker om het te escapen zoals de \Q...\E bij regexen (wat dus weer wel mag in de eerste string van sed-subsitute).
Wat ik dus nu doe, zijn deze chars escapen voor de sed. Inderdaad niet de mooiste oplossing, maar goed.. het werkt, en regexen/perl/awk/sed zijn al per definitie niet bedoeld voor de leesbaarheid
Wat ik dus nu doe, zijn deze chars escapen voor de sed. Inderdaad niet de mooiste oplossing, maar goed.. het werkt, en regexen/perl/awk/sed zijn al per definitie niet bedoeld voor de leesbaarheid
Yo dawg, I heard you like posts so I posted below your post so you can post again.