Contoh Penggunaan Command sed Untuk Manipulasi File

Trik sederhana ini akan sangat bermanfaat bagi beginner atau pemula yg ingin mempelajari manajemen server Linux. Yaitu cara mengubah suatu kata atau string dalam sebuah file tanpa membuka file tsb via file editor semisal vi/vim/nano/pico. Gimana caranya? Kita gunakan command sed seperti yg akan saya contohkan berikut ini.

Karena saya agak sering berkutat dengan salah satu cms yg paling populer, wordpress, maka contoh yg saya uraikan di bawah ini adalah ketika saya mengedit file wp-config.php. Biasanya untuk mengetahui data sql yg digunakan di wordpress tsb dapat saya cek dengan menjalankan command ini di folder public_html atau folder di mana file wp-config.php berlokasi.

cat wp-config.php |grep DB |head -3

Atau jika tidak sedang berada di direktori tsb bisa juga langsung ditambahkan direktori lokasinya, jadi akan seperti ini:

cat /home/admin/web/linuxbox.id/public_html/wp-config.php |grep DB |head -3

Keren kan? Jadi ga boros gitu lho menuh-menuhin layar kalau kita buka pake file editor atau kita tampilkan dengan perintah cat saja. Hasilnya kita akan bisa langsung lihat nama database, username database dan passwordnya.

define( 'DB_NAME', 'admin_wpx76' );
define( 'DB_USER', 'admin_wpx76' );
define( 'DB_PASSWORD', 'B0[S[zpZv5' );

OK sekarang kembali ke topik yaitu penggunaan command sed untuk mengubah detail sql tsb. Di situ kebetulan nama database dan usernamenya sama yaitu admin_wpx76 yg akan kita ganti menjadi misalnya wp99_new maka command sedyg kita jalankan adalah

sed -i 's/admin_wpx76/wp99_new/g' wp-config.php

Kalau kita cek lagi dengan perintah cat seperti contoh di atas maka terlihat sudah berubah begini:

define( 'DB_NAME', 'wp99_new' );
define( 'DB_USER', 'wp99_new' );
define( 'DB_PASSWORD', 'B0[S[zpZv5' );

Jika passwordnya juga ingin diedit langkahnya tentu saja juga sama. Eh tapi tunggu dulu, karena password pada contoh di atas menggunakan karakter khusus yaitu [ maka kalau sed kita jalankan seperti sebelumnya akan menghasilkan error alias gagal tereksekusi. sed: -e expression #1, char 21: unterminated `s' command

Untuk menjinakkan hal ini, kita butuh escape character yaitu kita tambahkan backslash \ di depan dan belakang masing-masing karakter khusus yg ada. Perhatikan perintah ini:

sed -i 's/B0\[\S\[\zpZv5/passwordanyar/g' wp-config.php

Hasilnya password dalam file wp-config.php tsb akan berubah sesuai yg dijalankan dalam perintah sed tadi yaitu passwordanyar. Demikianlah contoh penggunaan perintah sed untuk mengubah string atau kata dalam sebuah file tanpa membukanya dg file editor.

SERVERS.id menyediakan jasa seting/setup VPS/Dedicated Server Linux meliputi instalasi, troubleshooting, backup, malware removal, instalasi SSL dll. WhatsApp (text only) 0817 5454 257

Leave a Reply