Latihan Edit Text Menggunakan Find and Replace / Substitute di VIM
mrfdn.com - Saya memiliki ratusan data dengan pattern baris yang sama seperti ini :
[B Girls](/group/B-Girls) ( Dami , Ji Ningnim , Ha Yera , Mung Mimi , Song Hajung )
[B.A.P](/group/B-A-P) ( Yongguk , Himchan , Daehyun , Youngjae , Jongup , Zelo )
[B.Dolls](/group/B-Dolls) ( Seungjoo , Geunyoung , Yewon , Hayeon , Seo I , Taeyoon )
dst
Saya ingin mengubahnya menjadi data table dengan format markdown seperti ini :
| B Girls | Dami, Ji Ningnim, Ha Yera, Mung Mimi, Song hajung |
| B.A.P | Yonguk, Himchan, Daehyun, Yongjae, Jongup, Jelo |
| B.Dolls | Seungjoo, Geunyong, Yewon, Hayeon, Seo I, Taeyon |
dst
Ini bisa diedit dengan mudah hanya dengan waktu kurang dari 5 menit dengan mengetahui command regular expression Find and Replace atau di vim disebut dengan substitute.
Baca juga : Cara menggunakan perintah regular expresion SED dan GREP
Find and replace di VIM disebut Substitute
Di sini kita akan memasukkan beberapa baris perintah. Yang mana tiap perintah akan menghasilkan data setiap hasil dari perintah vim yang dimasukkan.
Selama pengeditan, lihat terlebih dahulu pattern mana yang bisa dengan gampang temukan dan diganti (find and replace)
Langsung saja ke praktek, begini cara menggunakannya.
Buka dokumen yang berisi data yang ingin diedit
Setelah terbuka, ketik perintah ini di vim, terlebih dahulu awali dengan titik dua ( : )
Ganti ) ( menjadi karakter lain
Di sini saya melihat pattern ) ( bisa diubah terlebih dahulu, saya ingin mengantinya dengan karakter yang berbeda yaitu ###
:%s/) (/ ### /g
Ganti karakter ]( menjadi |
Selanjutnya saya ingin mengganti semua karakter ]( dan semua karakter di belakangnya yang memiliki 3 space menjadi |
:%s/](.* / | /g
Hapus semua baris kosong
Hapus baris kosong di vim mudah saja yaitu dengan perintah ini :
:%s/^$\n/
Kemudian hapus semua tandah [ yang ada di awal baris dengan perintah gg, Ctrl+v, G, x
Tambahkan semua awalan baris dengan karakter |
:%s/^./|
Selesai
Menyelesaikan semua baris di atas hanya dengan satu baris command
Untuk lebih mempersingkat waktu, saya langsung membuat semua command di atas menjadi satu baris saja. Caranya dengan memisahkan antara command sebelum dan sesudah dengan tanda pipe | yang letaknya berada di atas enter.
Baca juga : Nama simbol pada keyboard yang jarang diketahui
:%s/) ( / ### /g | :%s/](.* / | /g | :%s/^$\n// | :%s/./| / | :%s/.$/|/g | :%s/ , /, /g
Demikian tutorial singkat cara edit multiple text dengan menggunakan fitur find and replace / substitute di VIM.
Cara ini tentu akan sangat menghemaat waktu, terlebih jika anda mengerjakan banyak sekali data dengan pattern yang sama.
Selamat mencoba.