Uma possível solução:
#!/bin/sh
ip="172.16.68.4"
sed -i "/\b\($ip\)\b/d" $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.
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
Use aspas duplas para fazer as variáveis de expansão do shell e você pode dar uma olhada aqui: