Shell

如何從文件中刪除空行(包括製表符和空格)?

  • March 9, 2021

我想從文件中刪除所有空行。即使該行包含空格或製表符,也應將其刪除。

grep適用於非空白:

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

[:blank:],在字元範圍 ( [...]) 內,稱為 POSIX 字元類。有一些 like [:alpha:], [:digit:][:blank:]匹配水平空白(在 POSIX 語言環境中,即空格和製表符,但在其他語言環境中可能有更多,如 UTF8 語言環境中的所有 Unicode 水平間距字元)同時[[:space:]]匹配水平和垂直白色空格字元(與垂直製表符、換頁符等加號相同[:blank:])。

grep '[:blank:]'

將返回包含任何字元的行,:, b, l, a,nk. 字元類僅在 內被辨識[...],並且^[...]否定集合內。所以[^[:blank:]]表示除空白字元以外的任何字元。

引用自:https://unix.stackexchange.com/questions/101440