Perintah sed di Linux adalah editor aliran yang kuat yang memungkinkan Anda melakukan transformasi teks dasar pada aliran masukan (file atau masukan dari saluran). Ini banyak digunakan untuk mencari, menemukan dan mengganti, menyisipkan, dan menghapus teks di dalam file. Tidak seperti editor teks sederhana, sed memproses data dalam pipeline dan sangat berguna untuk mengotomatiskan manipulasi teks dalam skrip shell.
Fitur utama sed mencakup kemampuan untuk:
- Gantikan teks dalam file menggunakan ekspresi reguler.
- Hapus garis berdasarkan pola tertentu.
- Sisipkan atau tambahkan teks ke baris tertentu.
- Ubah atau ubah teks berdasarkan pola kompleks.
Panduan ini akan memberikan contoh untuk mendemonstrasikan penggunaan praktis perintah sed di Linux, menunjukkan bagaimana perintah tersebut dapat digunakan untuk berbagai tugas pemrosesan teks.
Sintaks Kunci dan Opsi Perintah Sed
Sebelum mempelajari contoh, penting untuk memahami sintaks utama dari perintah sed:
sed [OPTION]... {script-only-if-no-other-script} [input-file]...
Berikut beberapa opsi yang umum digunakan:
- -e: Memungkinkan penggunaan banyak perintah.
- -n: Menekan perilaku default saat mencetak setiap baris.
- -i: Mengedit file di tempatnya (berhati-hatilah karena mengubah file asli).
Contoh Dasar Perintah Sed di Linux
Substitusi Teks Dasar
Salah satu penggunaan sed yang paling umum adalah mengganti teks.
echo "Welcome to Linux" | sed 's/Linux/Unix/'
Keluaran:
Welcome to Unix
Substitusi Global
Secara default, sed mengganti kemunculan pertama dalam satu baris. Untuk mengganti semua kemunculan, gunakan tanda 'g'.
echo "Apples are better than apples" | sed 's/apples/oranges/g'
Keluaran:
Apples are better than oranges
Penghapusan Garis
sed juga dapat menghapus garis berdasarkan pola tertentu.
echo -e "apple\norange\nbanana" | sed '/orange/d'
Keluaran:
apple
banana
Memasukkan dan Menambahkan Teks
Anda dapat memperkenalkan baris teks baru sebelum atau sesudah pencocokan pola.
echo "Hello" | sed 'i\Good Morning'
Keluaran:
Good Morning
Hello
Mengubah Kasus Teks
Dengan sed, Anda dapat memanipulasi huruf besar/kecil teks menggunakan fungsi y. Mari kita lihat contoh mengubah huruf kecil menjadi huruf besar:
echo "hello world" | sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'
Keluaran:
HELLO WORLD
Penggunaan Tingkat Lanjut dari Perintah Sed di Linux
Substitusi Teks Multi-pola
Untuk beberapa pola, Anda dapat menggunakan -e untuk merangkai berbagai perintah substitusi.
echo "Welcome to Linux. I love Linux." | sed -e 's/Linux/Unix/' -e 's/love/adore/'
Keluaran:
Welcome to Unix. I adore Linux.
Penggantian Teks Bersyarat
Dengan sed, mengganti teks berdasarkan kondisi tertentu menggunakan alamat dimungkinkan.
echo -e "apple\nbanana\ncherry" | sed '/banana/s/$/ - favorite fruit/'
Keluaran:
apple
banana - favorite fruit
cherry
Menggunakan Sed dengan Ekspresi Reguler
Manfaatkan kekuatan ekspresi reguler untuk mencocokkan pola yang kompleks.
echo "Price is $100" | sed 's/$[0-9]*/& (USD)/'
Keluaran:
Price is $100 (USD)
Referensi belakang untuk Penggantian Kompleks
Referensi belakang dapat digunakan untuk merujuk kembali ke bagian pola yang cocok.
echo "The white cat and black dog" | sed 's/\(white\|black\) \(cat\|dog\)/\2 \1/'
Keluaran:
The cat white and dog black
Mengedit Di Tempat dengan Opsi -i
Salah satu fitur canggih dari sed adalah kemampuan untuk mengedit file secara langsung. Hal ini dapat dicapai dengan menggunakan opsi -i, tetapi selalu buat cadangan file asli sebelum melakukan modifikasi langsung.
echo "Original text" > temp.txt
sed -i 's/Original/Modified/' temp.txt
cat temp.txt
Keluaran:
Modified text
Kesimpulan
Memahami dan menguasai perintah sed dapat meningkatkan kemampuan Anda secara signifikan dalam memanipulasi dan memproses file teks di Linux. Dengan mempraktikkan contoh yang diberikan, Anda dapat mempelajari cara menangani tugas pemrosesan teks umum secara efisien, mengotomatiskan pekerjaan pengeditan berulang, dan memasukkan sed ke dalam alur kerja skrip Anda. Bereksperimen secara teratur dengan berbagai opsi dan perintah sed akan memperdalam pengetahuan Anda dan memungkinkan Anda memanfaatkan potensi penuhnya. Nikmati keserbagunaan dan kekuatan yang dihadirkan sed pada tugas pemrosesan teks Linux Anda.