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

관련 정보