Dividir um arquivo com base em valores próximos ao padrão correspondente

0

Estou tendo um arquivo input.txt que inclui ~ 50.000 linhas e ~ 100 colunas. Eu quero dividir é de acordo com a entrada correspondente, seguido pelo padrão de correspondência. Separador de arquivos são espaço e tabulação.

input.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

No arquivo de entrada existe um campo correspondente FF em todas as linhas seguidas pela entrada correspondente em algumas linhas. Eu quero ter três arquivos de saída deste arquivo de entrada

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

Obrigado.

    
por user3377241 18.10.2018 / 22:42

1 resposta

0

Tente

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

Tags