使用带斜杠的 sed 将文本行附加到文件

使用带斜杠的 sed 将文本行附加到文件

我正在尝试将一行文本附加到设置文件,但我不断收到错误sed: -e expression #1, char 2: extra characters after command

这是我正在做的事情:

sed -i 'HAVE_OPENBLAS = \usr' ./settings.mk

任何帮助表示赞赏!

答案1

为什么不只是一个简单的回声?

$ echo 'HAVE_OPENBLAS = \usr' >> ./settings.mk

答案2

如果你绝对必须这样做sed

  • 在文件开头添加行:

    sed -i -e '1i\' -e 'HAVE_OPENBLAS = \\usr' ./settings.mk
    
  • 在文件末尾添加行:

    sed -i -e '$a\' -e 'HAVE_OPENBLAS = \\usr' ./settings.mk
    
  • 将该行添加为第 5 行,并向下移动后续行:

    sed -i -e '5i\' -e 'HAVE_OPENBLAS = \\usr' ./settings.mk
    
  • 将文件中的第 5 行替换为新行:

    sed -i -e '5c\' -e 'HAVE_OPENBLAS = \\usr' ./settings.mk
    

相关内容