我试图删除模式匹配的行,并使用sed命令将整行替换为另一行。
文件内容:sample.txt

Testfile=xxxx
Testfile3=uuuu
Testfile4=oooo
Testfile5=iiii
Testfile2=ikeii

我正在使用sed命令删除包含testfile3=*的行,并替换为testfile3=linechanged
sed -i 's/Testfile3=\*/Testfile3=linechanged/' Sample.txt.

但它只是在行中附加可替换字符串,如下所示
Testfile3=linechanged=uuuu.

我希望输出是
Testfile3=linechanged.

我做错什么了?

最佳答案

星星不匹配:

sed -i 's/Testfile3=.*/Testfile3=linechanged/' Sample.txt
#                   ^^

.*匹配任意长度(.)的任何字符(*),因此它将匹配所有字符,直到行的末尾。

关于linux - 使用linux命令删除和替换一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37699940/

10-10 17:27