sed- pattern soll ein ganzes wort sein

dettus

Bicycle User
hi!

ich hab hier zuhause gerade ein assemblerproggie, bei dem ich insgesamt 204 variablennamen durch andere ersetzen muss.
die haben alle so einen aufbau wie
Code:
pMuxInfo_bValid
und sollen durch sowas ersetzt werden
Code:
framedec_pMuxInfo_bValid

so weit so gut, ein einfaches
Code:
sed -e s/pMuxInfo_bValid/framedec_pMuxInfo_bValid/g
tuts aber nicht, weil es natuerlich auch solche funktionsnamen wie
Code:
CHECKFORpMuxInfo_bValid:
gibt.
weiss jemand, wie ich das erste pattern nur auf ganze woerter machten lassen kann?
 
Code:
sed -e s/\\\<pMuxInfo_bValid\\\>/framedec_pMuxInfo_bValid/g
oder besser zu lesen:
Code:
sed -e 's/\<pMuxInfo_bValid\>/framedec_pMuxInfo_bValid/g'

auf bald
oenone
 
oenone schrieb:
Code:
sed -e 's/\<pMuxInfo_bValid\>/framedec_pMuxInfo_bValid/g'

Zumindest unter OpenBSD (und AFAIK ist Dettus ein bekennender OpenBSD-Addict) werden als Word-Delimiter

Code:
[[:<:]]
bzw.
Code:
[[:>:]]

verwendet. Siehe auch re_format(7).

Wenn ich nicht so faul waere, dann wuerde ich jetzt auch noch nachsehen, was SUS dazu sagt ;-)
 
Zurück
Oben