Se você tiver muitos outros padrões de pesquisa, poderá salvá-los em um arquivo e ler as substituições a partir daí. Por exemplo, diga que este é o conteúdo de replacements.txt
:
www\.abcdef www.test.abcdef
www\.klmnop www.test.klmnop
Você pode então ler uma lista de N substituições e substituí-las por:
while read from to; do
sed -i "s/$from/$to/" infile.txt ;
done < replacements.txt
NOTAS:
- Isso pressupõe que suas seqüências de pesquisa não contenham espaços e que caracteres estranhos precisem ser escapados
replacements.txt
.
- Ele executará um
sed
por substituição, o que poderá demorar um pouco se você tiver muitas operações de substituição.
- Ele pode lidar com um número arbitrário de substituições (milhares ou milhões ou o que for), desde que você não se importe de que levará um pouco mais de tempo.
Outra opção seria escrever o sed
texto acima como um script:
s/www\.abcdef/www\.test\.abcdef/g;
s/www\.kmlnop/www\.test\.klmnop/g;
s/aaaa/bbbb/g;
s/cccc/dddd/g;
s/eeee/ffff/g;
Você pode executar o script no seu arquivo e ele fará todas as substituições de uma só vez:
sed -f replace.sed infile.txt