AWKを使用した複数行の抽出[閉じる]

AWKを使用した複数行の抽出[閉じる]

たとえば、複数の行と列を含むファイルがある場合は、特定の行と列を抽出できますか?

例えば

1 4/8/2016 4/7/2016 4/6/2016
2 john_doe jane_doe sarah_test
3 26 45 20
4 4/8/2015 6/8/2016 8/26/2016
5 5:15 2:30 6:00

希望の出力

1 4/8/2016 4/7/2016 4/6/2016
2 john_doe jane_doe sarah_test
4 4/8/2015 6/8/2016 8/26/2016

ベストアンサー1

はい、特定の行と列を取り出すことができます。

これはあなたが質問した正確な答えの結論です。


しかし、いくつかの一般的なアドバイスをしたいと思います。

awk単純な条件 - 作業モデルに基づいて構築されました。

条件を指定し、その条件に一致するアクションを提供します。

条件が「3行目」であり、ジョブが「行の最初の2フィールド印刷」であると仮定する。これは次のとおりです。

awk 'NR==3 {print $1, $2}'

条件が「行に文字「a」が含まれている」で、ジョブが「全行印刷」であると仮定します。

awk '/a/ {print}'

行全体を印刷するのは一般的な操作なので、デフォルトは次のとおりです。

awk '/a/'

条件が「各行」であり、ジョブが「第2フィールド印刷」であると仮定する。条件を省略できます。

awk '{print $2}'

詳しくは、正しいチュートリアルを読む

おすすめ記事