特定の列の値に基づいてファイルをフィルタリングする方法

特定の列の値に基づいてファイルをフィルタリングする方法

これは生データです。

TableName|Record ID|Session ID|Duration 
table1|1|1|0
table2|2|2|1
table3|3|3|1
table4|4|4|0     

私のLinuxでは、以下のように期間がゼロ以外の値で出力を表示したいと思います。

TableName|Record ID|Session ID|Duration
table2|2|2|1
table3|3|3|1

ありがとうございます! !

ベストアンサー1

行ごとのファイル列に基づいて決定を下すための最良のツールは次のとおりawkです。awk -F "|" '$4!=0' tableテーブルデータを含むファイル。プログラムでは、縦棒を列区切り記号として想定しています。awk1行ずつ作業してください。デフォルトの動作は、プログラムに提供された条件が真のときに1行を印刷することです。ここでは、列4がゼロ以外のすべての行が印刷されます。

より良い内容については、かなりよく書かれた記事をご覧ください。GNU awk マニュアル

おすすめ記事