我正在尝试替换我的文件行。我用了
line=" abc"
sed -i "3c ${line}" test.txt
它有效,但第一个空间没有出现。我希望test.txt中的第3行是
abc
而不是
abc
注意abc
之前有空格。谢谢你的任何建议!
答案 0 :(得分:1)
line="\ abc"
sed -i "3c\
$line" test.txt
逃离空间将使其不被修剪。
答案 1 :(得分:0)
sed替换命令的语法是's/match/replacement/'
。为了找到abc并替换它,你需要做类似的事情:
line=" abc"
sed -i "s/^abc$/$line/" test.txt
字符^
和$
分别是行的开头和结尾的正则表达式元字符。因此,^abc$
只匹配包含该模式的行,然后将abc
替换为前面的空格。