GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Menghapus Baris Kosong Dari File (termasuk Tab Dan Spasi)?

Saya ingin menghapus semua baris kosong dari file. Meskipun baris berisi spasi atau tab, baris tersebut juga harus dihapus.

Jawaban yang Diterima:

Cukup grep untuk yang tidak kosong:

grep '[^[:blank:]]' < file.in > file.out

[:blank:] , di dalam rentang karakter ([...] ), disebut kelas karakter POSIX. Ada beberapa seperti [:alpha:] , [:digit:][:blank:] cocok dengan spasi putih horizontal (di lokal POSIX, itu spasi dan tab, tetapi di lokal lain mungkin ada lebih banyak, seperti semua karakter spasi horizontal Unicode di lokal UTF8) sementara [[:space:]] cocok dengan karakter spasi putih horizontal dan vertikal (sama seperti [:blank:] ditambah hal-hal seperti tab vertikal, umpan formulir…).

grep '[:blank:]'

Akan mengembalikan baris yang berisi salah satu karakter, : , b , l , a , n atau k . Kelas karakter hanya dikenali dalam [...] , dan ^ dalam [...] meniadakan himpunan. Jadi [^[:blank:]] berarti karakter apa pun kecuali yang kosong.


Linux
  1. Cetak Garis Antara (dan Termasuk) Dua Pola?

  2. Hapus Beberapa Baris Pertama Secara Efisien Dari File Teks?

  3. Bagaimana Cara Menghapus Bom Dari File Utf-8?

  1. Bagaimana cara menghapus baris baru dari file teks?

  2. Cara menggunakan sed untuk menghapus n baris terakhir dari sebuah file

  3. Hapus baris ganjil atau genap dari file teks

  1. Bagaimana Cara Menghapus Garis Duplikat Di Dalam File Teks?

  2. Hapus N baris pertama dari file log aktif

  3. Bagaimana saya bisa menyimpan file dan menghapus baris yang dikomentari?