Script Shell: Excluir uma linha de um arquivo

1

Aqui está o meu arquivo "test.txt":

  172.16.68.4
  172.16.68.3

Aqui está o meu script:

#!/bin/sh
ip="172.16.68.4"
sed '/$ip/d' $1

Por favor, gostaria de excluir uma linha do arquivo de teste, mas não funcionou para mim. Tem uma ideia, por favor?

Muito obrigado pela ajuda.

Atenciosamente.

    
por user1568840 05.09.2015 / 13:44

3 respostas

1

Uma possível solução:

#!/bin/sh
ip="172.16.68.4"
sed -i "/\b\($ip\)\b/d" $1
    
por 05.09.2015 / 13:52
1

As duas únicas coisas que você está perdendo são:

  • O sinalizador -i no comando sed :

    -i[SUFFIX], --in-place[=SUFFIX]
        edit files in place (makes backup if SUFFIX supplied)
    
  • Você está usando variáveis, portanto, você deve usar aspas duplas ( " ) para que a variável seja expandida.

Então seu comando deve ser:

sed -i "/$ip/d" $1
    
por 05.09.2015 / 14:03
0

Use aspas duplas para fazer as variáveis de expansão do shell e você pode dar uma olhada aqui:

link

    
por 05.09.2015 / 14:00

Tags