Perintah sed untuk menghapus baris dalam file
- 3277
- 113
- Dwayne Hackett
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 fileAnda 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.
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!
- « Cara mencetak daftar tanpa tanda kurung dalam python
- Perintah RSYNC untuk mengecualikan file dan direktori panduan utama »