如何删除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

相关内容