Shell
如何從文件中刪除空行(包括製表符和空格)?
我想從文件中刪除所有空行。即使該行包含空格或製表符,也應將其刪除。
僅
grep
適用於非空白:grep '[^[:blank:]]' < file.in > file.out
[:blank:]
,在字元範圍 ([...]
) 內,稱為 POSIX 字元類。有一些 like[:alpha:]
,[:digit:]
…[:blank:]
匹配水平空白(在 POSIX 語言環境中,即空格和製表符,但在其他語言環境中可能有更多,如 UTF8 語言環境中的所有 Unicode 水平間距字元)同時[[:space:]]
匹配水平和垂直白色空格字元(與垂直製表符、換頁符等加號相同[:blank:]
)。grep '[:blank:]'
將返回包含任何字元的行,
:
,b
,l
,a
,n
或k
. 字元類僅在 內被辨識[...]
,並且^
在[...]
否定集合內。所以[^[:blank:]]
表示除空白字元以外的任何字元。