Perintah sed di Linux dengan Contoh

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.

Joshua James
Ikuti aku
Postingan terbaru oleh Joshua James (Lihat semua)

Tinggalkan komentar