0

当前文本

Variable length text = some string(some more text

改成

Variable length text = some string(addition some more text

只有在遇到“=”字符后,才需要在一行中的第一个括号后添加某个文本。另一个条件是忽略“= (”之类的模式,这实际上意味着您应该忽略“=”和“(”之间只有空格的模式

我的尝试:

sed -e "s#*=(\w\()#\1(addition#g"

感谢期待!

4

2 回答 2

1

在 perl 中

s/(.*?=[\s][^(]+?)\((.*)/$1(aditional text $2/
于 2012-06-07T19:33:23.037 回答
1

根据您的需要进行调整:

$ echo 'Variable length text = some string(some more text' |\
sed 's/^[^=]*=[^(]*[[:alnum:]][^(]*(/&addition /'

匹配:

  1. 字符串的开头
  2. 任何次数,但=任何次数
  3. =
  4. 任何次数,但(任何次数
  5. 一个字母数字字符
  6. 任何次数,但(任何次数
  7. (

...并用添加到它的匹配字符串替换' addition'它。输出是

Variable length text = some string(addition some more text
于 2012-06-07T19:27:34.180 回答