você pode testar uma solução completa de sed
sed -i '/:82 /s/status=D//' file
onde
-
/:82 /
seleciona linha com 82 -
s/status=D/
substitui status por -
//
nada.
Eu tenho as seguintes linhas de código
BalancerMember http://server3:82 status=D
BalancerMember http://server2:80 status=D
Eu quero procurar por entradas com a porta 82 e, em seguida, quero apagar status=D
. Então, vai ficar assim
BalancerMember http://server3:82
Tentei isso, mas isso não vai funcionar
grep :82 app.conf | sed -i 's/status=D/ /'
sed: no input files
Eu preciso da opção -i
com sed
porque gostaria de fazer a alteração no arquivo.
Alguma sugestão.
Com base nos seus dados de amostra, isso deve funcionar
awk '/:82 /{print $1,$2; next} {print}' inputfile
Você pode redirecionar a saída disso para outro arquivo.
awk '/:82 /{print $1,$2; next} {print}' inputfile >> newfile
Geralmente, não gosto de fazer alterações nos dados originais, se puderem ser ajudados.
com base na entrada dada
awk '$2~/:82$/{$NF=""}1' input.txt > output.txt