列が空の場合は行をスキップ

列が空の場合は行をスキップ

4つの列に空行がある行をフィルタリングするのに問題があります。

入力する:

1242    2021-11-22     Text     5.0
1242    2021-11-22     Text
1242    2021-11-22     Text     5.0
1242    2021-11-22     Text     5.0
4095    2021-11-22     Text
4095    2021-11-22     Text     5.0
4095    2021-11-22     Text
4095    2021-11-22     Text     5.0
4095    2021-11-22     Text
4095    2021-11-22     Text     5.0

私は出力が欲しい:

1242    2021-11-22     Text     5.0
1242    2021-11-22     Text     5.0
1242    2021-11-22     Text     5.0
4095    2021-11-22     Text     5.0
4095    2021-11-22     Text     5.0
4095    2021-11-22     Text     5.0

ファイルサイズは2.0Gbで、ライン数は約45mです。

私はこれを試しましたが、そのうち何も動作しません。空または同じファイルを返します。

awk -F: '{if($4 != "") print}'
awk -F '$4 != ""'
awk -F , '$4 != "\"\"" {print}'

ベストアンサー1

awk 'NF==4' file

または、Textスペースを含めることができる場合は、次のようにします。

awk -F'\t' '$4!=""' file

これが必要なものでない場合は、質問を編集して適用されない場合を含む、より代表的な入力/出力の例を提供してください。

おすすめ記事