0
我有一个名为test.csv,内容如下文件:GNU sed的:全局替换失败
T1,T2,T3,T4
10,2,3,17
10,2,5,14
10,2,2,16
15,1,17,15
12,1,9,25
我想对25的第四列替换所有的值17所以,我想下面的命令:
cat test.csv | sed -r 's/(([1-9]+,){3})17/\125/g'
T1,T2,T3,T4
10,2,3,17
10,2,5,14
10,2,2,16
15,1,17,15
12,1,9,25
正如你所看到的,只有最后一行被修改,但不是第二行。
但是,如果我这样做:cat test.csv | sed -r "s/([0-9]+,[0-9]+,[0-9]+,)17/\125/"
我有我想要的输出。这是为什么?
是的,确切的!谢谢肯特,多么错误...... :) – Kaeros