Tips Sederhana Cara Replace String Pada Banyak File Text Sekaligus di Linux- Bagian II

Lanjutan dari tips replace string di linux bagian seblumnya (ya iyyalah, masa’ bagian sesudahnya). Kali ini untuk kasus harus melakukan penelusuran dan penggantian sampai ke semua subfolder di dalamnya.

Sebagai pembuka saya ingin membatalkan anjuran untuk menggunakan RPL, soalnya gak tau kenapa kalau jumlah file yang diganti banyak selalu error dan pesan terakhir cuman killed, padahal sebelumnya di pencarian bertingkat yang filenya sedikit lancar-lancar aja (kemungkinan komputer Bair yang jangkrik :P).

Akhirnya harus mikir dan pakai gabungan sed dan find. Berikut command alakadarnya (yg penting berhasil :p) ;

find /lokasi/folder/induk/ -name *filter-nama-file* -type f -print0 | xargs -0 -n 1 sed -i -e ‘s/StringYangDiganti/StringPengganti/g’

Untuk memperjelas, kita coba contoh kasus: Misalnya kita harus me-replace semua file .php yang jumlahnya ribuan dan berada di dalam folder, subfolder-subfolder dan subsubfolder-subsubfolder web dengan lokasi /home/bair/test/web. String yang ingin  diganti adalah localhost/web/ menjadi  $hostname, maka di terminal tinggal jalankan perintah;

find /home/bair/test/web/ -name *.php* -type f -print0 | xargs -0 -n 1 sed -i -e ‘s/localhost\/web\//$hostname\//g’

Ya sudah tinggal tekan ENTER dan selesai😀.

Keterangan: untuk beberapa karakter yang ingin diganti semisal; baris baru (orang sering bilang enter :D), slash atau garis miring (/), dll, harus didahului dengan backslash (\).

Selamat mencoba.

THE END😀

2 thoughts on “Tips Sederhana Cara Replace String Pada Banyak File Text Sekaligus di Linux- Bagian II

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s