Latihan Edit Text Menggunakan Find and Replace / Substitute di VIM

JagoTekno – 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.

Tinggalkan komentar