GNU/Linux >> Belajar Linux >  >> Linux

Tutorial Unix Sed:Cara Mengeksekusi Beberapa Perintah Sed

Pertanyaan: Apakah mungkin bagi saya untuk menggabungkan beberapa perintah sed? Bisakah saya menggabungkan dua perintah sed dan menjalankannya sebagai perintah sed tunggal?

Jawaban: Dalam artikel kami sebelumnya, kami mempelajari sed dengan perintah tunggal — mencetak, menghapus, mengganti, dan menulis file.

Pada artikel ini mari kita tinjau bagaimana menggabungkan beberapa perintah sed menggunakan opsi -e seperti yang ditunjukkan di bawah ini.

Syntax:

#sed -e 'command' -e 'command' filename

Catatan: -e opsi adalah opsional untuk sed dengan satu perintah. sed akan mengeksekusi setiap set perintah saat memproses input dari buffer pola.

Mari kita buat file geekstuff.txt terlebih dahulu yang akan digunakan dalam semua contoh yang disebutkan di bawah.

# cat thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development
10.Windows- Sysadmin, reboot etc.

1.Hapus baris ke-4 dan ke-2 dari input

Contoh sed ini menghapus baris ke-4 dan ke-2 dari file thegeekstuff.txt. Menggunakan opsi “-e”, Anda dapat memberikan sejumlah perintah dengan sed.

$ sed -e '4d' -e '2d' thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
3. Hardware
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development
10.Windows- Sysadmin, reboot etc.

2. Cetak garis yang cocok dengan pola1 dan garis yang cocok dengan pola2

Contoh sed ini mencetak semua baris yang cocok dengan pola "Penyimpanan" atau "Perangkat Lunak".

$ sed -n  -e '/Software/p'  -e '/Storage/p'  thegeekstuff.txt
5. Storage
9. Software Development

3. Hapus baris pertama, terakhir, dan semua baris kosong dari input

Contoh sed ini menghapus baris pertama, baris terakhir dan semua baris kosong dari file input.

$ sed -e '1d' -e '$d' -e '/^$/d' thegeekstuff.txt
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development

Linux
  1. Cara Mengeksekusi Perintah/Script Secara Otomatis Selama Reboot atau Startup

  2. Bagaimana Cara Mengirim Stdout Ke Beberapa Perintah?

  3. Bagaimana Cara Mengganti Nama Banyak File Dalam Satu Perintah Atau Skrip Di Unix??

  1. Tutorial Unix Sed:Cara Mengeksekusi Beberapa Perintah Sed

  2. Cara mengganti string dalam banyak file di baris perintah linux

  3. Gabungkan beberapa perintah unix menjadi satu output

  1. Jalankan menggabungkan beberapa perintah Linux dalam satu baris

  2. Bagaimana cara menjalankan banyak perintah saat menggunakan find?

  3. Bagaimana cara mengganti beberapa spasi dengan satu tab