GNU/Linux >> Belajar Linux >  >> Linux

20 Contoh Perintah Sed (Stream Editor) untuk Pengguna Linux

Perintah Sed atau Editor Aliran adalah utilitas yang sangat kuat yang ditawarkan oleh sistem Linux/Unix. Ini terutama digunakan untuk substitusi teks , temukan &ganti tetapi juga dapat melakukan manipulasi teks lain seperti penyisipan , penghapusan , telusuri dll. Dengan SED, kita dapat mengedit file lengkap tanpa harus membukanya. Sed juga mendukung penggunaan ekspresi reguler, yang membuat sed menjadi alat manipulasi pengujian yang lebih kuat lagi. .

Pada artikel ini, kita akan belajar menggunakan perintah SED dengan bantuan beberapa contoh. Sintaks dasar untuk menggunakan perintah sed adalah,

sed OPSI… [SCRIPT] [INPUTFILE…]

Sekarang mari kita lihat beberapa contohnya.

Contoh :1) Menampilkan sebagian teks dari sebuah file

Dengan sed, kita hanya dapat melihat sebagian file daripada melihat seluruh file. Untuk melihat beberapa baris file, gunakan perintah berikut,

[[email protected] ~]$ sed -n 22,29p testfile.txt

di sini, opsi 'n' menekan pencetakan seluruh file &opsi 'p' hanya akan mencetak baris baris dari 22 hingga 29.

Contoh :2) Tampilkan semua kecuali beberapa baris

Untuk menampilkan semua isi file kecuali sebagian, gunakan perintah berikut,

[[email protected] ~]$ sed 22,29d testfile.txt

Opsi 'd' akan menghapus baris yang disebutkan dari output.

Contoh :3) Tampilkan setiap baris ke-3 dimulai dengan baris ke-N

Tampilkan konten setiap baris ke-3 dimulai dengan baris nomor 2 atau baris lainnya, gunakan perintah berikut

[[email protected] ~]$ sed -n '2~3p' file.txt

Contoh :4 ) Menghapus baris menggunakan perintah sed

Untuk menghapus baris dengan sed dari file, gunakan perintah berikut,

[[email protected] ~]$ sed Nd testfile.txt

di mana 'N' adalah nomor baris &opsi 'd' akan menghapus nomor baris yang disebutkan. Untuk menghapus baris terakhir file, gunakan

[[email protected] ~]$ sed $d testfile.txt

Contoh :5) Menghapus rentang baris

Untuk menghapus rentang baris dari file, jalankan

[[email protected] ~]$ sed '29,34d' testfile.txt

Ini akan menghapus baris 29 hingga 34 dari file testfile.txt.

Contoh :6) Menghapus baris selain yang disebutkan

Untuk menghapus baris selain baris yang disebutkan dari file, kita akan menggunakan '!'

[[email protected] ~]$ sed '29,34!d' testfile.txt

di sini opsi '!' digunakan sebagai tidak, sehingga akan membalikkan kondisi yaitu tidak akan menghapus baris yang disebutkan. Semua baris 29-34 lainnya akan dihapus dari file testfile.txt.

Contoh :7) Menambahkan baris/spasi Kosong

Untuk menambahkan baris kosong setelah setiap baris yang tidak kosong, kita akan menggunakan opsi 'G',

[[email protected] ~]$ sed G testfile.txt

Contoh :8) Mencari dan Mengganti string menggunakan sed

Untuk mencari &mengganti string dari file, kita akan menggunakan contoh berikut,

[[email protected] ~]$ sed 's/danger/safety/' testfile.txt

di sini opsi 's' akan mencari kata 'bahaya' &menggantinya dengan 'keamanan' di setiap baris untuk kemunculan pertama saja.

Contoh :9) Cari dan ganti string dari seluruh file menggunakan sed

Untuk mengganti kata sepenuhnya dari file, kami akan menggunakan opsi 'g'  dengan 's',

[[email protected] ~]$ sed 's/danger/safety/g' testfile.txt

Contoh :10) Ganti kemunculan ke-n dari pola string

Kami juga dapat mengganti string pada kemunculan ke-n dari sebuah file. Seperti mengganti 'bahaya' dengan 'keamanan' hanya pada kemunculan kedua,

[[email protected] ~]$ sed ‘s/danger/safety/2’ testfile.txt

Untuk mengganti 'bahaya' pada kemunculan ke-2 setiap baris dari seluruh file, gunakan

[[email protected] ~]$ sed 's/danger/safety/2g' testfile.txt

Contoh :11) Mengganti string pada baris tertentu

Untuk mengganti string hanya dari baris tertentu, gunakan

[[email protected] ~]$ sed '4 s/danger/safety/' testfile.txt

Ini hanya akan menggantikan string dari baris ke-4 file. Kami juga dapat menyebutkan rentang baris alih-alih satu baris,

[[email protected] ~]$  sed '4,9 s/danger/safety/' testfile.txt

Contoh :12) Tambahkan baris setelah/sebelum pencarian yang cocok

Untuk menambahkan baris baru dengan beberapa konten setelah setiap pencocokan pola, gunakan opsi 'a' ,

[[email protected] ~]$ sed '/danger/a "This is new line with text after match"' testfile.txt

Untuk menambahkan baris baru dengan beberapa konten a sebelum setiap pola cocok, gunakan opsi 'i',

[[email protected] ~]$ sed '/danger/i "This is new line with text before match" ' testfile.txt

Contoh :13) Ubah seluruh baris dengan pola yang cocok

Untuk mengubah seluruh baris ke baris baru saat pola pencarian cocok, kita perlu menggunakan opsi 'c' dengan sed,

[[email protected] ~]$ sed '/danger/c "This will be the new line" ' testfile.txt

Jadi ketika polanya cocok dengan 'bahaya', seluruh baris akan diubah ke baris yang disebutkan.

Opsi lanjutan dengan sed

Selama ini kita hanya menggunakan ekspresi sederhana dengan sed, sekarang kita akan membahas beberapa penggunaan lanjutan dari sed dengan regex,

Contoh :14) Menjalankan beberapa perintah sed

Jika kita perlu melakukan beberapa ekspresi sed, kita dapat menggunakan opsi 'e' untuk menyambungkan perintah sed,

[[email protected] ~]$  sed -e 's/danger/safety/g' -e 's/hate/love/' testfile.txt

Contoh :15) Membuat salinan cadangan sebelum mengedit file

Untuk membuat salinan cadangan file sebelum kita mengeditnya, gunakan opsi ‘-i.bak’,

[[email protected] ~]$ sed -i.bak -e 's/danger/safety/g'  testfile.txt

Ini akan membuat salinan cadangan file dengan ekstensi .bak. Anda juga dapat menggunakan ekstensi lain jika Anda mau.

Contoh :16) Hapus baris file yang dimulai dengan &diakhiri dengan pola

Untuk menghapus baris yang dimulai dengan string tertentu &diakhiri dengan string lain, gunakan

[[email protected] ~]$ sed -e 's/^danger.*stops$//g' testfile.txt

Ini akan menghapus baris dengan 'bahaya' di awal &'berhenti' di akhir &dapat memiliki sejumlah kata di antara , '.*' mendefinisikan bagian itu.

Contoh :17) Menambahkan baris

Untuk menambahkan beberapa konten sebelum setiap baris dengan sed ®ex, gunakan

[[email protected] ~]$ sed -e 's/.*/testing sed &/' testfile.txt

Jadi sekarang setiap baris akan memiliki 'testing sed' sebelumnya.

Contoh :18) Menghapus semua baris komentar &baris kosong

Untuk menghapus semua baris yang dikomentari, yaitu baris dengan # &semua baris kosong,  gunakan

[[email protected] ~]$ sed -e 's/#.*//;/^$/d' testfile.txt

Untuk hanya menghapus baris yang dikomentari, gunakan

[[email protected] ~]$ sed -e 's/#.*//' testfile.txt

Contoh :19) Dapatkan daftar semua nama pengguna dari /etc/passwd

Untuk mendapatkan daftar semua nama pengguna dari file /etc/passwd, gunakan

[[email protected] ~]$  sed 's/\([^:]*\).*/\1/' /etc/passwd

daftar lengkap semua nama pengguna akan ditampilkan di layar sebagai output.

Contoh :20) Mencegah penimpaan tautan sistem dengan perintah sed

Perintah 'sed -i' telah dikenal untuk menghapus tautan sistem &hanya membuat file biasa sebagai pengganti file tautan. Jadi untuk menghindari situasi seperti ini &mencegah ‘sed -i ‘ dari menghancurkan tautan, gunakan ‘–ikuti-symklinks ' opsi dengan perintah yang dieksekusi.

Anggap saya ingin menonaktifkan SELinux di CentOS atau RHEL Severs

[[email protected] ~]# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

Ini adalah beberapa contoh untuk menunjukkan sed, kita dapat menggunakan referensi ini untuk menggunakannya sebagai &bila diperlukan. Jika kalian memiliki pertanyaan yang terkait dengan ini atau artikel apa pun, bagikan dengan kami.

Baca Juga14 Contoh Perintah SCP untuk Mentransfer File dengan Aman di Linux


Linux
  1. Pengantar sed (Stream Editor):Contoh Perintah sed yang berguna

  2. 10 Contoh Perintah Sed (Stream Editor)

  3. sed Contoh Perintah di Linux

  1. 8 tips untuk baris perintah Linux

  2. Perintah Linux sed:Cara Menggunakan Editor Streaming

  3. Tutorial Perintah Pengguna Linux untuk Pemula (dengan Contoh)

  1. 12 Contoh Perintah IP untuk Pengguna Linux

  2. Tutorial Perintah Linux Uniq untuk Pemula (10 contoh)

  3. Perintah dir Linux untuk pemula (10 contoh)