次の形式のテキストファイルがあります。
$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つのフィールドのみがある行でリセットされるカウンタによって定義されます。