フィールド値に基づいてawkをファイルにリダイレクトする方法

フィールド値に基づいてawkをファイルにリダイレクトする方法

awkがフィールド値に基づいてファイルにリダイレクトする方法を理解して理解したいと思います。

3番目のフィールドを名前としてファイルを生成するスクリプトの1つで、次のコマンドが見つかりましたが、エントリにはそれぞれの値がありますが、どのように動作するのか理解できません。

出力にフィールド1のみを含む出力を生成することもできます。

  • スクリプトのコマンド

    awk '{print >> ( $3 ".txt")}' filename
    
  • 入力ファイル

    sample_text1 text3 20190426
    sample_text2 text4 20190426
    text1 abc 20190425
    text2 def 20190425
    
  • 生成された出力(20190426.txtおよび20190425.txt)

    20190426.txt

    sample_text1 text3 20190426
    sample_text2 text4 20190426
    

    20190425.txt

    text1 abc 20190425
    text2 def 20190425
    

答え1

今、私たちは答えを得ました。 3番目のフィールドはターゲットファイル名の基本部分を保持するため、後者はこのフィールドで構築され、デフォルトで$ 0、つまり入力行全体を印刷するprintステートメントのリダイレクトに使用されます。

関連情報