如何将the 后面的句子中的all 替换/
为only ?.
=
例如,从此:
/buttress_unit/buttress_top/buttress_i_ps_but_cio_m1_i_but_m1_tx_wrapper_m1_pref_fifo_array_29__stream_id_3_0 = buttress_unit/buttress_top/buttress/i_ps_but_cio_m1/
我想做这个:
/buttress_unit/buttress_top/buttress_i_ps_but_cio_m1_i_but_m1_tx_wrapper_m1_pref_fifo_array_29__stream_id_3_0 = buttress_unit.buttress_top.buttress.i_ps_but_cio_m1.
答案1
你可以试试
sed ':label
s|\(=.*\)/|\1.|
t label
'
替代品s
会寻找=
后面以 结尾的任何内容/
。带括号的捕获排除了最后的/
.替换字符串复制捕获内容,并添加一个点。但是,您不能仅添加 ag
来全局执行此操作,因为 sed 不会第二次查看它已经匹配的字符。所以你添加一个带有条件的循环去(以避免无限循环)。表示如果先前的命令对该行进行了更改,则t
转到标签。label