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