Anexar linha de texto ao arquivo usando sed com barra

0

Estou tentando acrescentar uma linha de texto a um arquivo de configurações, mas continuo recebendo o erro sed: -e expression #1, char 2: extra characters after command

Aqui está o que estou fazendo:

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

Qualquer ajuda é apreciada!

    
por 4rb3l 07.11.2017 / 19:09

2 respostas

4

Por que não apenas um simples eco?

$ echo 'HAVE_OPENBLAS = \usr' >> ./settings.mk
    
por 07.11.2017 / 19:10
2

Se você realmente precisa fazer isso com sed :

  • para adicionar a linha no início do arquivo:

    sed -i -e '1i\' -e 'HAVE_OPENBLAS = \usr' ./settings.mk
    
  • para adicionar a linha no final do arquivo:

    sed -i -e '$a\' -e 'HAVE_OPENBLAS = \usr' ./settings.mk
    
  • para adicionar a linha como linha 5 e deslocar as linhas subsequentes:

    sed -i -e '5i\' -e 'HAVE_OPENBLAS = \usr' ./settings.mk
    
  • para substituir a linha 5 no arquivo pela nova linha:

    sed -i -e '5c\' -e 'HAVE_OPENBLAS = \usr' ./settings.mk
    
por 07.11.2017 / 19:14