Hai semuanya, apa kabar? Kali ini saya mau nulis lagi tentang penggunaan perintah sed
di Linux. Dahulu saya pernah tulis juga tentang hal ini. Saya tulis ini sekaligus untuk “refresh” juga mengenai per-Linux-an ini
Saya mau coba sharing salah satu penggunaanya. Perintah ini dapat digunakan untuk menambahkan suatu perintah pada sebelum atau sesudah suatu item.
Misalnya, kita punya file berisi item-item tertentu dan kita ingin menambahkan suatu kalimat atau perintah di depannya.
Misalnya, saya punya file buah.txt
(gambar 1) yang isinya nama-nama buah (ditulis per baris). Saya ingin menambahkan kata “buah” di depannya.
gambar 1
Perintah sed ini bisa menggunakan file sebagai input-nya. Untuk melakukan hal tersebut, dapat menggunakan perintah:
sed -i 's/^/Buah /' buah.txt
Jangan lupa pakai spasi juga. Kita bisa cek hasilnya dengan melihat file buah.txt
(gambar 2).
gambar 2
Sekarang kita coba untuk menambahkan teks di belakang atau sesudah kata yang ada pada file. Misalnya kita ingin menambahkan kata “Enak” di belakang nama-nama buah tersebut. Kita bisa gunakan perintah:
sed -i 's/$/ Enak/' buah.txt
Sama seperti sebelumnya, jangan lupa tambahkan spasi sebelum kata “Enak” agar tidak “nempel” dengan isi file. Gambar 3 adalah isi file buah.txt
setelah ditambah kata “Enak” menggunakan perintah sed
.
gambar 3
Implementasi dari perintah sed ini misalnya kita memiliki suatu skrip untuk menjalankan perintah tertentu. Misalnya, skrip untuk ganti password akun massal dengan sintaks ./ganti-pass.sh [username] [pass-baru]
.
Pertama, kita kumpulkan terlebih dahulu semua alamat email yang ingin diterapkan dan masukkan ke suatu file, misalnya list-akun.txt
(gambar 4).
gambar 4
Kita tambahkan ./ganti-pass.sh
di depan alamat-alamat email yang ada pada file tersebut.
Pada contoh sebelumnya, pada sintaks sed menggunakan karakter “/
” sebagai delimiter atau pemisah. Karena karakter yang ingin kita tambahan ada karakter “/
“-nya, maka hal ini akan menjadi kendala.
Solusinya adalah kita bisa menggunakan karakter lain selain delimiter. Pada pengujian kali ini kita akan coba menggunakan karakter pipeline “|
“. Perintah yang digunakan jadi:
sed -i 's|^|./ganti-pass.sh |' list-akun.txt
gambar 5
Gambar 5 menampilkan tulisan ./ganti-pass.sh
sudah berhasil ditambahkan di depan alamat email. Selanjutnya kita lakukan penambahan tulisan di belakang alamat email yaitu password baru (massal). Misalnya S3cRetP@$5! (gambar 6).
sed -i 's|$| S3cRetP@$5!|' list-akun.txt
gambar 6
Untuk menjalankannya, kita bisa copy -paste-kan isi file tersebut dan jalankan langsung di terminal.
Begitulah penggunaan perintah sed untuk menambahkan string di depan atau belakang kalimat. Masih banyak lagi fitur atau penggunaan dari perintah sed.
Tulisan ini “terinspirasi” dari tulisan GM saya yang bisa dicek pada link berikut: https://imanudin.com/2024/06/05/tips-menambahkan-string-pada-awal-akhir-tulisan-menggunakan-sed/
Sampai jumpa. Bye.