一致するパターンの横の値に基づいてファイルを分割する

一致するパターンの横の値に基づいてファイルを分割する

約50,000の行と約100の列を含むinput.txtファイルがあります。一致するものと一致するパターンに基づいて分割したいと思います。ファイル区切り文字はスペースとタブです。

入力.txt

#information  
#dateofcreation  
#file type
AA  BB  CC DD EE FF GG HH II 
AA  bb  ac aD FF GG hg ad 
DA  ga  Dt pp Ee    FF gg pm    TT
DA  bR  AT GT Gg    FF GG Hb    Yh
NM  gt  Jh GT FF    hb TH KM MM

入力ファイルには、すべての行に一致フィールドFFがあり、一部の行に一致する項目があります。この入力ファイルから3つの出力ファイルをインポートしたいと思います。

GG.txt

AA  BB  CC DD EE FF GG HH II
AA  bb  ac aD FF GG hg ad
DA  bR  AT GT Gg    FF GG Hb Yh

gg.txt

DA  ga  Dt pp Ee    FF gg pm    TT

HB.txt

NM  gt  Jh GT FF    hb TH KM MM

ありがとうございます。

ベストアンサー1

努力する

awk '
match ($0, /FF *[^ ]* /)        {FN = substr($0, RSTART+3, RLENGTH -4) ".txt"
                                 gsub (/ /, "", FN)
                                 print $0  >  FN
                                }
' file

おすすめ記事