Linux

如何在linux中刪除數據文件中少於2列的行?

  • May 25, 2017

如果輸入如下所示:

   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

正如 Steeldriver 評論的那樣:

awk 'NF>1' input > output

其他方式:

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

(查找非空格字元後跟一個空格,然後是一個非空格字元)。

要“就地”編輯它:

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

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