sed根据模式替换的命令格式是这样的:
s/pattern/replacement/flags
其中flags可以写数字,数字是多少,就是第几个位置:
我们还是看栗子吧。
首先新建一个文件名为data的文本作为数据范例:
test test test
test test
当flags没有指定的时候:
$ sed 's/test/trail/' data
trail test test
trail test
好,结果出来了,看到没,当flags没指定的时候,替换的是每行第一处匹配的地方,其他的都没动。
再看,假设flags=2:
$ sed 's/test/trail/2' data
test trail test
test trail
这次的结果是第二个匹配的地方陪替换掉了,这时候你大概已经能猜到了,flag等于多少,意思就是第几处匹配的地方被替换,这个猜想是正确的。当然如果你心里没底,那就再往下试试……,看看等于3的时候是啥情况: