sed

Remove Buang Ruang Kosong

Remove Buang Ruang Kosong
Mengeluarkan ruang kosong dalam dokumen adalah langkah pemformatan penting yang diperlukan untuk memperbaiki susun atur keseluruhan teks dan memastikan data bersih dan kemas. Ia hanya dapat menyimpan data yang diperlukan dan menyingkirkan ruang utama dan ketinggalan yang tidak perlu. Berikut adalah beberapa senario di mana anda mungkin perlu membuang ruang kosong:

Sekiranya kita bercakap mengenai ruang kosong yang terkemuka, mereka mudah dilihat kerana mereka berada di awal teks. Walau bagaimanapun, tidak mudah untuk melihat tempat kosong di belakang. Perkara yang sama berlaku dengan ruang berganda yang kadang kala sukar dilihat. Semuanya menjadi lebih mencabar apabila anda perlu mengeluarkan semua ruang kosong yang terdahulu dan yang tertinggal dari dokumen yang mengandungi ribuan baris.

Untuk membuang ruang kosong dari dokumen anda, anda boleh menggunakan pelbagai alat seperti awk, sed, cut, dan tr. Dalam beberapa artikel lain, kami telah membincangkan penggunaan awk dalam menghilangkan ruang kosong. Dalam artikel ini, kita akan membincangkan penggunaan sed untuk menghapus ruang kosong dari data.

Anda akan belajar menggunakan sed untuk:

Kami akan menjalankan perintah di Ubuntu 20.04 Fossa Fokus. Anda juga boleh menjalankan perintah yang sama pada distribusi Linux yang lain. Kami akan menggunakan aplikasi Terminal Ubuntu lalai untuk menjalankan perintah. Untuk membuka Terminal, gunakan pintasan papan kekunci Ctrl + Alt + T.

Apa itu Sed

Sed (singkatan dari editor aliran) adalah utiliti yang sangat kuat dan berguna di Linux yang membolehkan kita melakukan manipulasi teks asas pada aliran input. Ia bukan penyunting teks, tetapi membantu memanipulasi dan menyaring teks. Ia menerima aliran input dan mengeditnya mengikut arahan pengguna dan kemudian mencetak teks yang diubah ke layar.

Dengan sed, anda boleh:

Menggunakan Sed untuk Mengeluarkan Ruang Kosong

Kami akan menggunakan sintaks berikut untuk membuang ruang kosong dari teks:

s / REGEXP / penggantian / bendera

Di mana

Ungkapan biasa

Beberapa ungkapan biasa yang akan kami gunakan di sini adalah:

Untuk tujuan demonstrasi, kami akan menggunakan contoh fail berikut bernama "testfile".

Lihat Semua Ruang Putih dalam Fail

Untuk mencari semua ruang kosong dalam fail anda, masukkan output perintah cat ke perintah tr seperti ini:

$ cat testfile | tr "" "*" | tr "\ t" "&"

Perintah ini menggantikan semua ruang kosong dalam fail anda dengan simbol (*), yang menjadikannya lebih mudah untuk melihat semua ruang kosong sama ada ruang kosong tunggal, berganda, utama, atau belakang.

Pada tangkapan skrin berikut, anda dapat melihat ruang putih digantikan dengan simbol *.

Buang Semua Ruang Putih (Termasuk Ruang dan Tab)

Dalam beberapa kes, anda perlu membuang semua ruang kosong dari data, i.e. memimpin, mengekori, dan ruang kosong antara teks. Perintah berikut akan membuang semua ruang kosong dari "testfile".

$ cat testfile | sed -r / s + // g '

Nota: Sed tidak mengubah fail anda melainkan anda menyimpan output ke fail.

Pengeluaran:

Setelah menjalankan perintah di atas, output berikut muncul, yang menunjukkan bahawa semua ruang kosong telah dikeluarkan dari teks.

Anda juga boleh menggunakan perintah berikut untuk mengesahkan bahawa semua ruang putih telah dikeluarkan.

$ cat testfile | sed -r 's / \ s + // g' | tr "" "*" | tr "\ t" "&"

Dari output, anda dapat melihat bahawa tidak ada simbol (*) yang bermaksud semua ruang putih telah dikeluarkan.

Untuk membuang semua ruang kosong tetapi hanya dari baris tertentu (katakan nombor baris 2), anda boleh menggunakan arahan berikut:

$ cat testfile | sed -r '2s / \ s + // g'

Buang Semua Ruang Putih Terpopuler (Termasuk Ruang dan Tab)

Untuk membuang semua ruang kosong dari awal setiap baris (ruang kosong terkemuka), gunakan arahan berikut:

$ cat testfile | sed 's / ^ [\ t] * //'

Pengeluaran:

Output berikut muncul setelah menjalankan perintah di atas, yang menunjukkan semua ruang kosong terkemuka telah dikeluarkan dari teks.

Anda juga boleh menggunakan perintah berikut untuk mengesahkan bahawa semua ruang kosong terkemuka telah dikeluarkan:

$ cat testfile | sed 's / ^ [\ t] * //' | tr "" "*" | tr "\ t" "&"

Dari keluaran, anda dapat melihat tidak ada simbol (*) di awal garis yang mengesahkan bahawa semua ruang putih utama dikeluarkan.

Untuk membuang ruang kosong utama hanya dari baris tertentu (katakan nombor baris 2), anda boleh menggunakan arahan berikut:

$ cat testfile | sed '2s / ^ [\ t] * //'

Alih Keluar Semua Ruang Kosong (Termasuk Ruang dan Tab)

Untuk membuang semua ruang kosong dari hujung setiap baris (mengejar ruang kosong), gunakan arahan berikut:

$ cat testfile | sed 's / [\ t] * $ //'

Pengeluaran:

Output berikut muncul setelah menjalankan perintah di atas, yang menunjukkan semua ruang kosong yang tertinggal telah dikeluarkan dari teks.

Anda juga boleh menggunakan perintah berikut untuk mengesahkan bahawa semua ruang kosong yang tertinggal telah dikeluarkan.

$ cat testfile | sed 's / [\ t] * $ //' | tr "" "*" | tr "\ t" "&"

Dari keluaran, anda dapat melihat tidak ada simbol (*) di hujung garisan yang mengesahkan bahawa semua ruang kosong yang tertinggal dikeluarkan.

Untuk membuang ruang kosong yang tertinggal hanya dari baris tertentu (katakan baris nombor 2), anda boleh menggunakan arahan berikut:

$ cat testfile | sed '2s / [\ t] * $ //'

Keluarkan kedua-dua Ruang Putih yang Terkemuka dan Mengikuti

Untuk membuang semua ruang kosong dari awal dan akhir setiap baris (i.e. kedua-dua ruang kosong utama dan belakang), gunakan arahan berikut:

$ cat testfile | sed 's / ^ [\ t] * //; s / [\ t] * $ //'

Pengeluaran:

Output berikut muncul setelah menjalankan perintah di atas, yang menunjukkan bahawa kedua-dua ruang kosong yang terdahulu dan yang tertinggal telah dikeluarkan dari teks.

Anda juga boleh menggunakan perintah berikut untuk mengesahkan bahawa kedua-dua ruang putih yang terdahulu dan yang tertinggal telah dikeluarkan.

$ cat testfile | sed 's / ^ [\ t] * //; s / [\ t] * $ //' | tr "" "*" | tr "\ t" "&"

Dari keluaran, anda dapat melihat tidak ada simbol (*) di awal atau akhir garis yang mengesahkan bahawa semua ruang kosong di depan dan di belakang dihapus.

Untuk membuang kedua-dua ruang kosong utama dan belakang dari hanya garis tertentu (katakan baris nombor 2), anda boleh menggunakan arahan berikut:

$ cat testfile | sed '2s / ^ [\ t] * //; 2s / [\ t] * $ //'

Gantikan Pelbagai Ruang Putih dengan Ruang Putih Tunggal

Dalam beberapa kes, terdapat beberapa ruang kosong di tempat yang sama dalam fail, tetapi anda hanya memerlukan ruang kosong tunggal. Anda boleh melakukannya dengan menggantikan beberapa ruang tersebut dengan satu ruang menggunakan sed.

Perintah berikut akan menggantikan semua ruang kosong dengan ruang kosong tunggal dari setiap baris dalam "testfile".

$ cat testfile | sed 's / [] \ + / / g'

Pengeluaran:

Output berikut muncul setelah menjalankan perintah di atas, yang menunjukkan beberapa ruang kosong telah diganti dengan ruang kosong tunggal.

Anda juga boleh menggunakan perintah berikut untuk mengesahkan sama ada banyak ruang putih diganti dengan ruang kosong tunggal:

$ cat testfile | sed 's / [] \ + / / g' | tr "" "*" | tr "\ t" "&"

Dari output, anda dapat melihat simbol tunggal (*) di setiap tempat yang mengesahkan bahawa semua kejadian beberapa ruang putih diganti dengan satu ruang kosong.

Jadi, ini adalah mengenai membuang ruang kosong dari data anda menggunakan sed. Dalam artikel ini, anda telah belajar bagaimana menggunakan sed untuk menghapus semua ruang kosong dari data anda, membuang hanya ruang kosong utama, atau belakang, dan menghapus ruang kosong utama dan belakang. Anda juga telah belajar cara mengganti pelbagai ruang dengan satu ruang. Sekarang anda akan mudah membuang ruang kosong dari fail yang mengandungi beratus-ratus atau ribuan baris.

Permainan Terbaik untuk Dimainkan dengan Penjejakan Tangan
Oculus Quest baru-baru ini memperkenalkan idea hebat penjejakan tangan tanpa pengawal. Dengan jumlah permainan dan aktiviti yang semakin meningkat yan...
Cara Menunjukkan Overlay OSD dalam Aplikasi dan Permainan Linux Skrin Penuh
Bermain permainan skrin penuh atau menggunakan aplikasi dalam mod skrin penuh bebas gangguan dapat memisahkan anda dari maklumat sistem yang relevan y...
5 Kad Tangkap Permainan Teratas
Kita semua telah melihat dan menyukai streaming permainan permainan di YouTube. PewDiePie, Jakesepticye, dan Markiplier hanyalah beberapa pemain terat...