テキストファイルからデータを抽出する

テキストファイルからデータを抽出する

次の形式のテキストファイルがあります。

$DATA1ソース='HSPICE'バージョン='I-2013.12-SP2-1 32ビット'  
.TITLE「CMOSインバータ伝送特性」  
インデックス t_r t_ft t_rf              
                 t_fr t_rr t_ff              
                 性格変化#            
1 1.361e-11 1.177e-11 8.807e-12        
                  9.063e-12 2.002e-08 2.002e-08        
                  2.500e+01 1                 
2 1.339e-11 1.178e-11 8.805e-12        
                  8.867e-12 2.002e-08 2.002e-08        
                  2.500e+01 1                 
3 1.334e-11 1.177e-11 8.811e-12        
                  8.824e-12 2.002e-08 2.002e-08        
                  2.500e+01 1   

1000 1.339e-11 1.178e-11 8.805e-12        
                  8.867e-12 2.002e-08 2.002e-08        
                  2.500e+01 1   

最初の5行を削除し、3行セットから9つの値を抽出したいと思います。これらの値はすべて、awkコマンドを使用して9つの異なる出力ファイルに配置されます。
出力ファイルの例は次のとおりです。 -
File1.txt

1  
2  
サム  
1000  

ファイル2.txt

1.361e-11   
1.339e-11   
1.334e-11  
1.339e-11

3行セットの9つの要素はすべて同じです。

ベストアンサー1

純粋なawk解決策は次のとおりです。

awk '
  NR<=5 { next }
  { for(i=1; i<=NF; i++) print $i > "File"++c}
  NF==2 { c=0 }
'

5つのヘッダー行をスキップし、ファイルに残っているデータを含むフィールドを印刷します。その名前は、2つのフィールドのみがある行でリセットされるカウンタによって定義されます。

おすすめ記事