列2に値がある場合に行を印刷するシェルスクリプト

列2に値がある場合に行を印刷するシェルスクリプト
1 2 3 4
3 1 4 2
1 4 3 2
4 2 1 3

次のすべての行を印刷する方法22番目の列に。

ベストアンサー1

使用awk(またはそのいとこgawk):

gawk '$2==2 {print $0}' inputfile

列は、最初の列、2番目の列などawkで表されます。行全体はで指定されます。したがって、例は次のようになります。列2が2に等しい場合は、行全体を印刷します。$$1$2$0

編集:devnullが言ったように:

gawk '$2==2' inputfile 

十分。 2番目の列に2があり、最後の使用に4がある行を印刷するには$NF(つまり、最後の列)フィールドの数を示します。

gawk '$2==2 && $NF==4'  inputfile

おすすめ記事