1)下面的命令只替换第3到第6行的文本:
sed "3,6s/my/your/g" pets.txt
2)只替换每一行的第一个s:
sed "s/s/S/1" my.txt
g的作用是替换一行的所有
3)隔3行替换一次
$ seq 6 | sed 'n;n;s/./x/'
1
2
x
4
5
x
还可以写为:
$ seq 6 | sed '0~3s/./x/'
1
2
x
4
5
x
4)查找到匹配的行就进行替换
/pattern/s/pattern1/pattern2/:
查找符合pattern的行,如果不加g的话就将该行第一个匹配pattern1的字符串替换为pattern2,如果加g的话就将该行所有pattern1替换为pattern2.