Perintah sed untuk memadam baris dalam fail

Perintah sed untuk memadam baris dalam fail

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 fail

Anda 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.

Contoh arahan sed untuk memadam baris terakhir dari fail

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!