Tips Menambahkan String pada awal/akhir Tulisan Menggunakan sed

Posted by

Di dalam pekerjaan sehari-hari, ada beberapa task yang membutuhkan penyesuaian terhadap data yang diberikan oleh klien. Atau bisa juga data yang diambil dari server yang membutuhkan penyesuaian. Misalnya task terkait dengan migrasi email server dari server lain ke Zimbra. Klien hanya memberikan list user untuk diimport pada Zimbra. Misal list usernya seperti berikut

user1@example.tld
user2@example.tld
user3@example.tld

Proses import account tersebut, dapat dilakukan 2 cara. Pertama, dibuatkan secara manual via GUI/Zimbra Admin. Kedua, dibuatkan secara manual via CLI. Keuntungan pembuatan via CLI, dapat dilakukan secara massal. Misalnya pembuatan account via CLI perintahnya sebagai berikut

zmprov ca user1@example.tld passwordnya

Atau bisa juga seperti berikut

zmprov
ca user1@example.tld passwordnya

Perbedaan dari 2 command di atas adalah perintah zmprov. Pada command pertama, zmprov dijalankan berbarengan dengan opsi pembuatan account. Pada command kedua, zmprov dijalankan terlebih dahulu. Setelah masuk prompt prov>, opsi pembuatan account baru dijalankan.

Dari sample di atas, ada perintah yang harus dijalankan sebelum alamat-email dan ada opsi yang harus ditambahkan setelah alamat-email. Dengan hanya diberikannya list user saja, maka saya harus menambahkan command sebelum dan sesudah alamat email. Untuk memudahkan hal tersebut, saya biasa menggunakan program sed.

Diasumsikan terdapat file listuser.txt yang berisi daftar email seperti berikut

user1@example.tld
user2@example.tld
user3@example.tld

Untuk menambahkan string di awal, jalankan command berikut

sed -i 's/^/zmprov ca /' listuser.txt

Hasil dari peritah di atas, menjadikan isi file listuser.txt seperti berikut

zmprov ca user1@example.tld
zmprov ca user2@example.tld
zmprov ca user3@example.tld

Untuk menambahkan string di akhir, jalankan command berikut

sed -i 's/$/ passwordnya/' listuser.txt

Hasil dari peritah di atas, menjadikan isi file listuser.txt seperti berikut

zmprov ca user1@example.tld passwordnya
zmprov ca user2@example.tld passwordnya
zmprov ca user3@example.tld passwordnya

Dengan program sed, saya dapat memanipulasi data agar ada tambahan string sebelum/setelah baris tulisan.

Contoh di atas, hanyalah sebagian kecil dari fungsi program sed. Silakan lakukan explore untuk fungsi-fungsi yang lainnya.

Silakan dicoba dan semoga bermanfaat 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.