Perintah sed untuk memadam baris dalam fail
- 1196
- 170
- Mr. Ramon Runolfsson
Dalam kebanyakan kes, semasa anda bekerja dengan fail teks, ia mungkin mempunyai beberapa ruang kosong. Ruang kosong ini mungkin berkisar dari beberapa aksara ke beberapa baris yang kosong atau tidak mempunyai maklumat. Menjaga fail sedemikian dengan ruang yang tidak perlu boleh memakan masa dan menyusahkan. Mungkin terdapat beberapa sebab untuk menyimpan fail -fail ini, tetapi cara terbaik untuk mengendalikannya adalah dengan memadamkan garis yang kosong. Artikel ini meneroka arahan UNIX sed dan penggunaannya dalam memadam garis kosong dalam fail.
Apa itu sed?
Sed bermaksud editor aliran. Ia adalah editor baris arahan yang tidak interaktif. Ia digunakan terutamanya untuk mengedit dan menapis fail. SED paling sering digunakan dalam skrip, di mana ia digunakan untuk mengedit sama ada satu fail atau beberapa fail secara berurutan. SED boleh digunakan untuk melakukan urutan tindakan penyuntingan pada satu fail atau sekumpulan fail. Ia boleh digunakan untuk memadam garis dan perkataan dalam fail, ganti kata -kata, dan juga menambah teks di lokasi tertentu dalam fail.
Dalam tutorial ini, anda akan belajar tentang arahan Linux sed untuk memadam baris dari fail berdasarkan argumen. Ingat bahawa arahan lalai tidak membuat perubahan pada fail asal. Sekiranya anda ingin mengeluarkan fail dalam pilihan yang sama menggunakan pilihan '-i' dengan arahan.
1. Padamkan baris pertama dari fail
Anda boleh menggunakan '1d' pilihan untuk memadam baris pertama dari fail. Contohnya, anda mempunyai fail CSV dan ingin mengeluarkan baris tajuk. Gunakan arahan berikut untuk memadam baris pertama dengan sed.
sed '1d' file_name
Di sini '1' mewakili baris pertama dan 'D' digunakan untuk memadam. Jadi menggabungkan '1d' Memadam baris pertama dari fail. Lihat contoh di bawah:
Contoh arahan sed untuk memadam baris pertama dari failAnda dapat melihat bahawa 'sed'
Perintah memadamkan baris pertama dari output.
2. Padamkan baris terakhir dari fail
Gunakan parameter lien perintah '$ d' dengan sed untuk memadam baris terakhir atau jalur kaki dari denda. Perintah berikut akan memadam baris terakhir dari file_name.Fail CSV.
sed '$ d' file_name
Dalam perintah di atas '$'
mewakili baris terakhir fail dan 'D'
adalah untuk memadam garis itu.
3. Padamkan baris tertentu mengikut nombor
Anda boleh menentukan nombor baris diikuti oleh 'D'
Untuk memadam garis tertentu itu. Contohnya untuk memadam fail ke -5 dari fail, laksanakan:
sed '5d' file_name.CSV
4. Padamkan julat baris
Sed juga membolehkan mengeluarkan pelbagai baris dari fail. Kami boleh menentukan baris permulaan dan nombor baris berakhir dengan arahan dipisahkan. Mari lihat contoh di bawah:
sed '2,5d' file_name
Perintah di atas akan memadam nombor talian dari 2 hingga 5 dari fail yang diberikan.
5. Padam garis selain daripada baris pertama
Gunakan penolakan (!) Operator dengan pilihan D dalam perintah sed. Perintah SED berikut membuang semua baris kecuali garis header.
sed '1!d 'file_name
6. Padam garis selain daripada baris terakhir
Gunakan penolakan (!) Operator dengan pilihan D dalam perintah sed. Perintah SED berikut membuang semua baris kecuali garis header.
sed '$!d 'file_name
7. Padam garis selain julat yang ditentukan
Gunakan penolakan (!) Operator dengan pilihan D dalam perintah sed. Perintah SED berikut membuang semua baris kecuali garis header.
sed '2,5!d 'file_name
8. Padamkan baris pertama dan terakhir
sed '1d; $ d' file_name
9. Padamkan garisan kosong atau garis kosong
Perintah SED boleh digunakan untuk memadam garisan kosong dalam fail teks. Untuk melakukan ini, anda boleh menggunakan arahan berikut:
sed '/^$/d' file_name
Perintah di atas memadam semua baris kosong dari fail yang ditentukan. Sebarang baris mengandungi satu ruang tidak dianggap sebagai satu baris.
10. Padam garis yang bermula dengan watak yang ditentukan
nombor sed '/^t/d'.CSV
11. Padam garis yang berakhir dengan watak yang ditentukan
nombor sed '/t $/d'.CSV
12. Padam garis yang mengandungi corak
nombor sed '/corak/d'.CSV
Kesimpulan
Selalunya keperluan untuk membersihkan fail teks sebelum pemprosesan selanjutnya, kerana mereka mungkin mempunyai aksara yang tidak diingini, seperti tab, garis baru, ruang, dll. SED menawarkan beberapa cara untuk memadam garis, kata, atau watak dari fail. Cukup masukkan operasi yang dikehendaki dalam command prompt, dan anda sudah selesai!
- « Cara Mencetak Senarai Tanpa Kurungan di Python
- Perintah rsync untuk mengecualikan fail dan direktori panduan utama »