AWK – 如果不是以特殊符号开头,则替换一个单词
我尝试翻译这一行:
(ModuleEins = WertA | ${ModuleEins} = WertB | ModuleEins = WertB) 到这一行: (${ModuleEins} = WertA | ${ModuleEins} = WertB | ${ModuleEins} = WertB) 但是我没有让它发挥作用. 我有一个复杂的awk脚本,我在循环中运行替换语句. 例如awk'{sub(“ModuleEins”,“${ModuleEins}”,$0);打印,$0}’ 我不知道如何在awk中替换一个不以特殊字符开头的单词. (?!{} ModuleEins(?!})< - 这个想法我不能在awk中工作. 解决方法
这是一个脆弱的解决方案,但确切地回答了你的问题.
请注意我 >将sub(…)更改为gsub 码 print -- '(ModuleEins = WertA | ${ModuleEins} = WertB | ModuleEins = WertB)' | awk '{ gsub( /[^{]ModuleEins[^}]/,"&${ModuleEins}",$0 ); print $0 }' 产量 (ModuleEins ${ModuleEins}= WertA | ${ModuleEins} = WertB | ModuleEins ${ModuleEins}= WertB) 我希望这有帮助. 附:因为您似乎是一个新用户,如果您得到一个可以帮助您的答案,请记住将其标记为已接受,和/或给它一个(或 – )作为有用的答案. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |