Jika Anda memiliki lebih banyak pola pencarian, Anda dapat menyimpannya dalam file dan membaca substitusi dari sana. Sebagai contoh, katakan ini adalah isi dari replacements.txt
:
www\.abcdef www.test.abcdef
www\.klmnop www.test.klmnop
Anda kemudian dapat membaca daftar penggantian N dan menggantinya dengan ini:
while read from to; do
sed -i "s/$from/$to/" infile.txt ;
done < replacements.txt
CATATAN:
- Ini mengasumsikan string pencarian Anda tidak mengandung spasi dan karakter aneh apa pun harus diloloskan
replacements.txt
.
- Ini akan menjalankan satu
sed
per penggantian yang mungkin memakan waktu cukup lama jika Anda memiliki banyak operasi penggantian.
- Itu dapat menangani sejumlah penggantian sewenang-wenang (ribuan atau jutaan atau apa pun) selama Anda tidak keberatan bahwa itu akan memakan waktu lebih lama.
Pilihan lain adalah menulis di atas sebagai sed
skrip:
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;
Anda kemudian dapat menjalankan skrip pada file Anda dan itu akan membuat semua penggantian dalam sekali jalan:
sed -f replace.sed infile.txt