как удалить строки с менее чем 2 столбцами в файле данных в Linux?

как удалить строки с менее чем 2 столбцами в файле данных в Linux?

Если входные данные выглядят так:

    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

Связанный контент