Menggunakan vi untuk mengganti string dalam beberapa file
Kadang-kadang Anda mungkin ingin mengganti kejadian string di beberapa file.
Ada cara mudah untuk melakukannya dengan bantuan editor vi.
Contoh ini akan mengilustrasikan kekuatan dari vi:
Misalkan Anda memiliki 100 file html,. Dan Anda ingin mengganti terjadinya string '2007 'dengan '2008'.
Dengan demikian, jalankan perintah berikut pada prompt Anda:
vi *. html
Ini akan membuka semua file yang berakhir dengan 'html.' Di direktori kerja Anda saat ini. Lalu mengeluarkan perintah berikut:
: Argdo% s/2007/2008/g | WQ
Itu saja! perintah di atas akan loop atas setiap file, mengganti (%) 2007 dengan kata kata 2008 global (g) maka akan menyimpan file masing-masing (w) dan keluar dari itu (q).
Perhatikan bahwa string untuk menemukan dan string digunakan untuk pengganti dapat digantikan dengan ekspresi reguler. Sebagai contoh, sebuah tanda sisipan (^) mengacu pada awal baris, tanda dolar ($) mengacu ke ujungnya, dll Jadi jika kita mengganti baris yang dimulai dengan 'sampel' dan berakhir dengan 'test', salah satu bisa menggunakan:
: Argdo% s / ^ .* sampel uji $ / g | wc
mana .* pertandingan apa pun di antara dua string.
Perhatikan juga bahwa Anda dapat melakukan mencari dan mengganti tindakan tanpa menghormati kasus (yaitu pencarian untuk 'kata' akan cocok 'kata'). Untuk itu, cukup mengganti '/ g' dengan '/ gi'

itu tanda sisipan, bukan wortel!
Harus telah berpikir tentang makanan ketika mengetik
Tepuk tangan
Terima kasih untuk petunjuk ini, Anda menyelamatkan saya banyak bekerja dengan itu.
Thanx banyak, itu membantu saya juga.
Saya tidak punya komentar, untuk jumlah yang relatif kecil dari pengganti, disuruh untuk mengganti juga dapat berguna.
: Argdo% s / SEARCH_STRING / replace_string / gc | WQ
dengan tambahan 'c' untuk 'konfirmasi'
Terima kasih lagi