Mengganti Teks di File Menggunakan `sed` di Linux
Kadang kalau harus edit teks di banyak file satu per satu rasanya nyebelin. Untungnya ada sed
(Stream Editor) di Linux yang bikin semuanya gampang. Bisa langsung search & replace teks di banyak file sekaligus.
1. Apa Itu sed
?
sed
itu command-line tool buat edit teks di stream data. Bisa dipakai untuk:
- Mencari teks
- Mengganti teks
- Menghapus atau menyisipkan teks
2. Contoh Kasus: Ganti Teks di Banyak File
Misal punya banyak file .txt
dan ingin ganti semua abc
jadi aab
. Cara pakai sed
:
sed -i 's/abc/aab/g' *.txt
Penjelasan:
-i
→ langsung ubah file tanpa bikin salinan.'s/abc/aab/g'
→s
untuk substitution,abc
digantiaab
,g
artinya semua occurrence di tiap baris.*.txt
→ semua file dengan ekstensi.txt
di folder sekarang.
3. Contoh Praktis
File sebelum:
-
file1.txt
:abc is a test another abc here
-
file2.txt
:abc in this file too
Setelah dijalankan:
sed -i 's/abc/aab/g' *.txt
Hasil:
-
file1.txt
:aab is a test another aab here
-
file2.txt
:aab in this file too
4. Tips dan Trik
-
Backup sebelum edit:
sed -i.bak 's/abc/aab/g' *.txt
Bikin file backup
.bak
sebelum diubah. -
Regex lebih kompleks:
sed
support regular expression untuk search & replace yang lebih canggih. -
Preview sebelum ubah:
sed 's/abc/aab/g' *.txt
Lihat hasil tanpa ubah file.
5. Kesimpulan
Pada akhirnya, sed
itu tool wajib buat siapa pun yang sering edit teks di Linux. Bisa batch replace teks, hemat waktu, dan nggak bikin ribet. Sejak pakai sed
, pekerjaan edit file banyak jadi jauh lebih cepat dan aman kalau sambil bikin backup.