假设./test.txt文本的内容:
1111111
2222222
test_line_one
test_line_two=/test/test.sh -a 3333333
4444444
实例1:
sed -i 's/^test_line_one.*/7777777/g' ./test.txt
i :插入
s :取代
^ :从行头匹配
.* :匹配所有直到行尾
g :[address[,address]]g 将hold space中的内容拷贝到pattern space中,原来pattern space里的内容清除
匹配存在test_line_one的行,并替换为7777777
实例2:
如果替换的字符串中存在(/),需要把分隔符(/)改为其他符号,如(#)
sed -i 's#^test_line_two.*#test_line_two=/test/test.sh -a 123#g' ./test.txt
匹配存在test_line_two的行,并替换为test_line_two=/test/test.sh -a 5555555