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
[email protected] [email protected] [email protected]
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 [email protected] passwordnya
Atau bisa juga seperti berikut
zmprov ca [email protected] 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
[email protected] [email protected] [email protected]
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 [email protected] zmprov ca [email protected] zmprov ca [email protected]
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 [email protected] passwordnya zmprov ca [email protected] passwordnya zmprov ca [email protected] 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 🙂