-2

たとえば、6列目の最後の要素を5列目の各値に減算できるawk 1ライナーを作成しようとしています

5/20/2013 1085.00 1062.25 1065.00 1083.50 -381.00 07 2013
5/21/2013 1098.25 1075.00 1080.00 1097.25 -381.00 07 2013
5/22/2013 1113.75 1089.50 1096.00 1113.25 -381.00 07 2013
5/23/2013 1165.75 1106.50 1111.00 1118.50 -381.00 07 2013
5/24/2013 1124.75 1090.25 1110.00 1095.25 -381.00 07 2013
5/28/2013 1147.50 1091.50 1094.00 1128.25 -381.00 07 2013
5/29/2013 1135.25 1119.25 1125.25 1128.75 -159.75 11 2013
5/30/2013 1133.25 1117.75 1128.25 1129.50 -159.75 11 2013
5/31/2013 1155.00 1129.00 1129.25 1144.50 -159.75 11 2013
6/3/2013 1171.50 1140.75 1141.25 1165.75 -159.75 11 2013
6/4/2013 1165.00 1144.25 1164.25 1156.25 -159.75 11 2013

私はの出力が欲しい

1243.25
1257
1273
1278.25
1255
1288
1288.5
1289.25
1304.25
1325.5
1316
4

2 に答える 2

1

これはトリックを行います:

$ awk '{a[NR]=$5}END{for(i=1;i<=NR;i++)print a[i]-$6}' file
1243.25
1257
1273
1278.25
1255
1288
1288.5
1289.25
1304.25
1325.5
1316
于 2013-06-05T16:14:22.587 に答える
0

ファイルを反転し、最初の行の 6 列目を見つけ、すべての減算を行い、出力を反転します

tac file | awk 'FNR==1{key=$6} {print $5-key}' | tac

tacSolarisで利用できるかどうかはわかりません...

于 2013-06-05T20:13:06.697 に答える