Perintah sed untuk menghapus baris dalam file

Perintah sed untuk menghapus baris dalam file

Dalam kebanyakan kasus, ketika Anda bekerja dengan file teks, kemungkinan akan memiliki beberapa ruang kosong. Ruang kosong ini dapat berkisar dari beberapa karakter hingga sejumlah baris yang kosong atau tidak memiliki informasi. Menjaga file seperti itu dengan ruang yang tidak perlu bisa memakan waktu dan tidak nyaman. Mungkin ada beberapa alasan untuk menyimpan file -file ini, tetapi cara terbaik untuk menanganinya adalah dengan menghapus garis yang kosong. Artikel ini mengeksplorasi perintah unix sed dan penggunaannya dalam menghapus baris kosong dalam file.

Apa itu sed?

Sed adalah singkatan dari Stream Editor. Ini adalah editor baris perintah non-interaktif. Ini terutama digunakan untuk mengedit dan memfilter file. Sed paling sering digunakan dalam skrip, di mana ia digunakan untuk mengedit satu file atau beberapa file secara berurutan. SED dapat digunakan untuk melakukan urutan tindakan pengeditan pada satu file atau sekelompok file. Ini dapat digunakan untuk menghapus baris dan kata dalam file, mengganti kata, dan bahkan menambahkan teks di lokasi tertentu dalam file.

Dalam tutorial ini, Anda akan belajar tentang perintah linux sed untuk menghapus baris dari file berdasarkan argumen. Ingatlah bahwa perintah default tidak membuat perubahan pada file asli. Jika Anda ingin menghapus file dalam file yang sama menggunakan '-i' opsi dengan perintah.

1. Hapus baris pertama dari file

Anda dapat menggunakan '1d' opsi untuk menghapus baris pertama dari file. Misalnya, Anda memiliki file CSV dan ingin menghapus baris judul. Gunakan perintah berikut untuk menghapus baris pertama dengan sed.

sed '1d' file_name  

Di Sini '1' mewakili baris pertama dan 'D' digunakan untuk menghapus. Jadi menggabungkan '1d' menghapus baris pertama dari file. Lihat contoh di bawah ini:

Sed Command Contoh untuk menghapus baris pertama dari file

Anda dapat melihat itu 'sed' Perintah menghapus baris pertama dari output.

2. Hapus baris terakhir dari file

Gunakan Parameter Lien Perintah '$ D' dengan SED untuk menghapus garis terakhir atau garis footer dari denda. Perintah berikut akan menghapus baris terakhir dari file_name.file CSV.

sed '$ d' file_name 

Dalam perintah di atas '$' mewakili baris terakhir file dan 'D' adalah menghapus garis itu.

Contoh perintah sed untuk menghapus baris terakhir dari file

3. Hapus baris tertentu dengan nomor

Anda dapat menentukan nomor baris diikuti oleh 'D' untuk menghapus garis spesifik itu. Misalnya untuk menghapus file ke -5 dari file, jalankan:

sed '5d' file_name.CSV  

4. Hapus rentang garis

SED juga memungkinkan untuk menghapus berbagai garis dari file. Kita dapat menentukan garis awal dan nomor baris akhir dengan perintah terpisah. Mari kita lihat contoh di bawah ini:

Sed '2,5d' File_name 

Perintah di atas akan menghapus nomor baris dari 2 hingga 5 dari file yang diberikan.

5. Hapus garis selain dari baris pertama

Gunakan negasi (!) Operator dengan opsi D dalam perintah SED. Perintah SED berikut melepas semua garis kecuali garis header.

sed '1!d 'file_name 

6. Hapus garis selain dari baris terakhir

Gunakan negasi (!) Operator dengan opsi D dalam perintah SED. Perintah SED berikut melepas semua garis kecuali garis header.

sed '$!d 'file_name 

7. Hapus baris selain dari rentang yang ditentukan

Gunakan negasi (!) Operator dengan opsi D dalam perintah SED. Perintah SED berikut melepas semua garis kecuali garis header.

sed '2,5!d 'file_name 

8. Hapus baris pertama dan terakhir

sed '1d; $ d' file_name 

9. Hapus garis kosong atau garis kosong

Perintah SED dapat digunakan untuk menghapus garis kosong dalam file teks. Untuk melakukan ini, Anda dapat menggunakan perintah berikut:

sed '/^$/d' file_name  

Perintah di atas menghapus semua baris kosong dari file yang ditentukan. Jalur apa pun yang berisi satu ruang tidak dianggap sebagai baris tunggal.

10. Hapus garis yang dimulai dengan karakter yang ditentukan

angka sed '/^t/d'.CSV 

11. Hapus baris yang diakhiri dengan karakter yang ditentukan

angka sed '/t $/d'.CSV 

12. Hapus garis yang berisi pola

angka sed '/pola/d'.CSV 

Kesimpulan

Selalu ada kebutuhan untuk membersihkan file teks sebelum diproses lebih lanjut, karena mereka mungkin memiliki karakter yang tidak diinginkan, seperti tab, newline, ruang, dll. Sed menawarkan sejumlah cara untuk menghapus garis, kata, atau bahkan karakter dari file. Cukup taruh operasi yang diinginkan di prompt perintah, dan Anda sudah selesai!