Contoh Penggunaan Perintah sed di Linux

Minggu, 06 Desember 2020

Contoh Penggunaan Perintah sed di Linux. Oke kali ini saya akan sharing sedikit mengenai sed atau stream editor. sed adalah salahsatu command yang wajib diketahui jika kalian adalah seorang sysadmin. Command ini digunakan untuk memodifikasi atau memanipulasi teks inputan.

Berikut deskripsi sed manurut man pages nya.

Sed is a stream editor. A stream editor is used to perform basic text transformations on an input stream (a file or input from a pipeline). While in some ways similar to an editor which permits scripted edits (such as ed), sed works by making only one pass over the input(s), and is consequently more efficient. But it is sed's ability to filter text in a pipeline which particularly distinguishes it from other types of editors.

Secara umum format yang dipakai untuk menjalankan perintah sed adalah sebagai berikut:
sed 's/search/replace/g' input
untuk search pattern nya sendiri bisa berupa keyword biasa, atau berupa regex. Karakter yang biasa digunakan adalah '/' namun kalian bisa menggunakan karakter pembatas apa saja. Akhiran 'g' disini berarti global, yang artinya seluruh string yang sesuai dalam satu file akan dimodifikasi. Tanpa 'g', hanya baris pertama yang ditemukan saja yang akan dimodifikasi.

Oke langsung ke contoh penggunaan saja. Disini saya memiliki file sed.txt dengan isi berikut:
Selamat datang di LinuxSec - Tutorial Linux untuk Pemula.
Ini tutorial penggunakan sed di terminal linux.
Bagaimana jika kita ingin memodifikasi kata "Linux" menjadi "GNU/Linux"? Karena ada '/' di kata GNU/Linux, kita bisa menggunakan karakter pembatas lainnya. Disini saya gunakan pembatas @. Maka commandnya menjadi
sed 's@Linux@GNU/Linux@g' sed.txt
Maka outputnya menjadi:
Selamat datang di GNU/LinuxSec - Tutorial GNU/Linux untuk Pemula.
Ini tutorial penggunakan sed di terminal linux.
Namun jika yang kalian inginkan adalah mengganti kata Linux saja tanpa substring di kata lain, maka kita bisa gunakan pembatas \b atau \>di awal dan akhir search pattern. Contohnya:
sed 's@\bLinux\b@GNU/Linux@g' sed.txt
Maka outputnya:
Selamat datang di LinuxSec - Tutorial GNU/Linux untuk Pemula.
Ini tutorial penggunakan sed di linux.
Maka hanya kata Linux saja yang akan dimodifikasi, sementara kata LinuxSec tidak akan ikut dimodifikasi.

Secara default search pattern di sed adalah case sensitive. Itulah kenapa di contoh diatas kata 'linux" tidak ikut dimodifikasi. Untuk membuatnya menjadi case insensitive, tambahkan I disamping g. Contoh:
sed 's@\bLinux\b@GNU/Linux@gI' sed.txt
Contoh output:
Selamat datang di LinuxSec - Tutorial GNU/Linux untuk Pemula.
Ini tutorial penggunakan sed di terminal GNU/Linux.
Untuk contoh penggunaan regex dan sed bisa dilihat di artikel berikut:

Oke mungkin itu dulu tutorial kali ini, semoga bermanfaat. Jika ada yang ingin ditanyakan silahkan tinggalkan komentar.

Artikel Terkait GNU/Linux ,Perintah Terminal