フィールドが5個未満のファイルから行を削除する方法

フィールドが5個未満のファイルから行を削除する方法

ファイルがあります(以下の例)。一部の行には5つのフィールドがあり、5番目のフィールドは数字です。ただし、ファイルの数行には4つのフィールドしかありません。

4つのフィールドの内容のみを含む行をどのように削除できますか?列ごとに並べ替えられません。

delay  from  threshold/temp/atp/CK   rx/tx/sx/C14/CLR/DQ  5.0
delay  from  threshold2   rx/C10/CLR  7.0
delay  to    threshold10  rx10  3.0
delay  from  min/max/values/atp  tx/rx/mx/T13/CLR
delay  to  min5/atp2  tx/mx/P11/CTR

上記の例では、4行目と5行目を削除したいと思います。

私は試しましたが役に立ちawk -F\| '$5~/\w/' fileませんでした。

ベストアンサー1

awk '$5~/\w/'私のために動作します。\w5番目の列が正規表現akaに一致するすべての行を印刷します[a-zA-Z0-9_]。このオプションを使用して、-F正しい区切り文字を指定したことを確認します。

awk 'NF>4'あなたの意図をより明確に表現してください。 4つ以上のフィールドを含むすべての行を印刷します。

おすすめ記事