如何在两个模式之间替换空字符串

时间:2015-12-02 02:21:01

标签: linux replace sed vi

我有一个低于模式的文件。我想替换所有以“id”开头并以第一次出现结束的出现,在vi编辑器中使用空字符串 “id”:797979,

2 个答案:

答案 0 :(得分:1)

sed 's/"id"[^,]*,//g'

当线上有多个逗号时,你必须注意贪婪的比赛(上面的其他一些答案没有')

答案 1 :(得分:0)

在评论中提供的示例中测试了这个sed,只要"id:xyz,模式每行只出现一次,它就会起作用。

sed -i 's/\(.*\)\("id.*,\)\(.*\)/\1\3/' filename