Menon, você já tem uma sed
resposta como fazer a operação em todo o arquivo. Se a sua intenção é trabalhar em linhas individuais, como mostrado no seu quadro de código, então você não precisa de sed
(ou qualquer outro programa externo), já que seu shell pode provavelmente (veja a nota abaixo) fazer a substituição. Supondo que a variável string
em seu código contenha (por exemplo) o valor PORT_NUM
, a substituição na variável line
poderia ser feita por:
while read line
do
if [[ $line =~ $string ]]; then
line=${line/BILL_NO/NA}
fi
done < "$file"
(Nota: Esta substituição funciona com shells contemporâneas, como bash, ksh, zsh.)