最初の列(例:1.20E-05)の最初のデータを取得し、2番目の列全体を負の符号付きの最初のデータに置き換えたいと思います。その後、最後のデータ行を削除して新しいファイルとして印刷したいと思います。
私は次のデータを持っています:
body comments Vxx yy zz 0 pwl (
1.20E-05 1
1.21E-05 1.1
1.22E-05 1.2
1.23E-05 1.3
1.24E-05 0 +)
予想出力:
body comments Vxx yy zz 0 pwl (
0.00E-05 1
0.01E-05 1.1
0.02E-05 1.2
0.03E-05 1.3 +)
答え1
質問はあまり明確ではありません。私が理解したところによると、これはあなたにとってどれほど役に立ちますか?
awk '
NR==1 {print
next}
NR==2 {Subtrahend = $1
}
{if (Prev) print Prev
$1 = sprintf("%.2g", $1-Subtrahend)
Prev = $0
}
END {print $NF
}' file
body comments Vxx yy zz 0 pwl (
0 1
1e-07 1.1
2e-07 1.2
3e-07 1.3
+)
ヘッダー行を印刷したら、行2に必要な減算を保存し、すべての行の最初のフィールドからそれを減算します。 Prev変数を使用すると、印刷が1行ずつ延期されるため、最後の行(除外+)
)をスキップまたは削除できます。
フォーマットは別の話です。必要に応じて少しの努力/処理が必要です。