Ada banyak metode untuk mencari dan mengganti kata dalam satu file.
Disini kita akan melakukannya dengan Vim dan tidak hanya satu file yang akan kita eksekusi - melainkan banyak file.
Pertama, kita perlu find
untuk mencari file yang ingin kita ubah - perintah find
dapat dirangkai secara efektif dan ini sebenarnya hanya dibatasi oleh imajinasi kita.
Penggunaan find
untuk menemukan file Markdown:
find . -name '*.md'
Jalankan find --help
untuk melihat banyak pilihan.
Setel lebih lanjut pencarian dengan menggunakan grep
- untuk mendapatkan file yang hanya berisi teks yang ingin kita ubah, dengan menambahkan:
grep -le '\<png\>' #bukan untuk dieksekusi
Ambil contoh kita akan mencari dan mengubah teks png
menjadi webp
.
Eksekusi keinginan kita dengan gabungan perintah find
dan grep
:
vim `find . -name '*.md' -exec grep -le '\<png\>' {} \;` #perintah untuk mencari file yang hanya berisi string 'png' di dalamnya.
Sekarang kita dapat menerapkan perintah Vim bufdo
ke semua file terpilih dan melakukan tindakan pencarian dan penggantian teks dari png
menjadi webp
:
:bufdo %s/png/webp/gce
huruf c
berguna untuk konfirmasi perubahan teks yang dapat kita pantau langsung.
Setelah selesai, simpan pekerjaan dengan perintah:
:bufdo wqa!
Dinikmati ya
Referensi: How to Search-and-replace Across Multiple Files in Vim