我正在尝试删除与模式匹配的行,并使用sed命令将整个行替换为另一行。文件内容:Sample.txt
Testfile=xxxx
Testfile3=uuuu
Testfile4=oooo
Testfile5=iiii
Testfile2=ikeii
Run Code Online (Sandbox Code Playgroud)
我正在使用sed命令删除包含Testfile3 = *的行,并替换为Testfile3 = linechanged
sed -i 's/Testfile3=\*/Testfile3=linechanged/' Sample.txt.
Run Code Online (Sandbox Code Playgroud)
但是它只是将可替换的字符串附加在行中,如下所示
Testfile3=linechanged=uuuu.
Run Code Online (Sandbox Code Playgroud)
我期望输出是
Testfile3=linechanged.
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
该星不匹配正确的:
sed -i 's/Testfile3=.*/Testfile3=linechanged/' Sample.txt
# ^^
Run Code Online (Sandbox Code Playgroud)
.*匹配任意.长度(*)的任何字符(),因此它将匹配所有内容,直到行尾。