我正在尝试更换括号(在代码文件中的| - >字符串之前。还有其他的(括号也在同一行中,但我想替换在此字符串之前的那个| - &gt ;在每一行。 例如,在下面的行中,我想要替换此行的第二个括号,这是| - >之前的开始括号。使用shell脚本命令的字符串。
property((req1 == 0)| - >(gnt1 == 0));
答案 0 :(得分:0)
您可以使用sed
:
echo 'property ( ( req1 == 0 ) |-> ( gnt1 == 0 ) );' | sed 's/\(([^(]*|->\)/! \1/'
打印:
property ( ! ( req1 == 0 ) |-> ( gnt1 == 0 ) );
它的工作方式是查找(
(s/\(
之后的那个),但只有在(
以外的其他内容之后(' s [^(]*
然后|->
。