Perintah sed Linux

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.

image host

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).

image host

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.

image host

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).

image host

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

image host

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

image host

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.

Leave a Comment