Crie um script sed
que faça todas as substituições e, em seguida, aplique o script sed
ao seu arquivo.
for (( i=0; i<${#OLD[@]}; ++i )); do
printf 's/%s/%s/g\n' "${OLD[$i]}" "${NEW[$i]}"
done >script.sed
sed -f script.sed inputfile >outputfile && mv outptufile inputfile && rm script.sed
Desta forma, você limita o número de vezes que você precisa analisar o arquivo de entrada para um.
Para os dados fornecidos em OLD
e NEW
, o script sed
será gerado como
s/_MAIN1_/#111/g
s/_MAIN2_/#222/g