3つのデータ列を含むテキストファイルがあります。ただし、異なるファイルでランダムな時間に観測された単位がppnからppbに変わるため、変換係数と1000の乗算が必要です。
actual data needed data look
20101001,01:00,0.3 20101001,01:00,0.3,300.000
20110103,10:00,212.67 20110103,10:00,212.670,212.670
元のコンテンツをすべて印刷し、変換のために4番目の列を追加するawkコマンドがあります。
唯一の問題は、3番目の列のすべての内容を1000として印刷してから4番目の列に印刷することです。コマンドは次のとおりです。
awk -F ',' '{printf "%s %s %.3f %.3f\n", $1,$2,$3,$3*1000}' temp7.tmp > County001-CO-0012.out
どうすれば、3列の2と-1の間の値に1000を掛けてから、4列の3列の元の値を印刷できますか?
答え1
awkコードでこれを行うことができます。
{
# if $3 is between -1 and 2, multiply by 1000
converted = $3 * (-1 <= $3 && $3 <= 2 ? 1000 : 1)
printf "%s %s %.3f %.3f\n", $1, $2, $3, converted
}