如何刪除Linux資料檔中少於2列的行?

如何刪除Linux資料檔中少於2列的行?

如果輸入如下圖所示:

    1
    2 4 5 6 7 19
    20
    22
    24 26 27 
    29 30 31 32 34 40 50 56 58
    234 235 270 500
    1234 1235 1236 1237
    2300

我想刪除少於 2 列的行,因此輸出應如下所示:

    2 4 5 6 7 19
    24 26 27 
    29 30 31 32 34 40 50 56 58
    234 235 270 500
    1234 1235 1236 1237

答案1

正如 Steeldriver 評論的那樣:

awk 'NF>1' input > output

其他方式:

grep '[^ ] [^ ]' input > output

(找一個非空格字符,後面跟著一個空格,再找一個非空格字符)。

要「就地」編輯它:

sed -i '/[^ ] [^ ]/!d' input

相關內容