awk 2文件查找并更新最小/最大值

awk 2文件查找并更新最小/最大值,awk,max,min,Awk,Max,Min,这是我演讲的第二部分 文件_1每秒轮询一次,$2一直在变化: 0 0.00 1 0.00 2 0.00 3 0.00 4 0.00 5 0.00 6 0.00 7 0.00 8 -40.00 9 -20.00 10 -10.00 11

这是我演讲的第二部分

文件_1每秒轮询一次,$2一直在变化:

0 0.00 1 0.00 2 0.00 3 0.00 4 0.00 5 0.00 6 0.00 7 0.00 8 -40.00 9 -20.00 10 -10.00 11 10.00 12 30.00 13 20.00 14 10.00 15 20.00 16 10.00 17 -10.00 18 -10.00 19 -10.00 20 -10.00 21 -10.00 22 10.00 23 0.00 0 0.00 1 0.00 2 0.00 3 0.00 4 0.00 5 0.00 6 0.00 7 0.00 8 -40.00 9 -20.00 10 -10.00 11 10.00 12 30.00 13 20.00 14 10.00 15 20.00 16 10.00 17 -10.00 18 -10.00 19 -10.00 20 -10.00 21 -10.00 22 10.00 23 0.00 文件2是我想要存储最小($1)和最大($2)值并更新它们的地方。原始文件_2为空:

0 0.0000 0.0000 1 0.0000 0.0000 2 0.0000 0.0000 3 0.0000 0.0000 4 0.0000 0.0000 5 0.0000 0.0000 6 0.0000 0.0000 7 0.0000 0.0000 8 0.0000 0.0000 9 0.0000 0.0000 10 0.0000 0.0000 11 0.0000 0.0000 12 0.0000 0.0000 13 0.0000 0.0000 14 0.0000 0.0000 15 0.0000 0.0000 16 0.0000 0.0000 17 0.0000 0.0000 18 0.0000 0.0000 19 0.0000 0.0000 20 0.0000 0.0000 21 0.0000 0.0000 22 0.0000 0.0000 23 0.0000 0.0000 0 0.0000 0.0000 1 0.0000 0.0000 2 0.0000 0.0000 3 0.0000 0.0000 4 0.0000 0.0000 5 0.0000 0.0000 6 0.0000 0.0000 7 0.0000 0.0000 8 0.0000 0.0000 9 0.0000 0.0000 10 0.0000 0.0000 11 0.0000 0.0000 12 0.0000 0.0000 13 0.0000 0.0000 14 0.0000 0.0000 15 0.0000 0.0000 16 0.0000 0.0000 17 0.0000 0.0000 18 0.0000 0.0000 19 0.0000 0.0000 20 0.0000 0.0000 21 0.0000 0.0000 22 0.0000 0.0000 23 0.0000 0.0000 我想将绝对最小值和最大值存储在文件_2中,如果新轮询的文件_1$1包含较高/较低的值,则更新它们。这意味着文件_1$1必须与文件_2$1和$2进行检查,如果文件_1$1低于文件_2$1或高于文件_2$2,则必须更新文件_2$1或文件_2$2。所有文件都已排序

说明:

这将是一个射频噪声分析仪。每一行都是一个子信道,在该子信道中,每秒测量和读取一次入口射频噪声的上升或下降(存储在文件_1中)。目标是在测量过程中获得每个子通道(每条线)的绝对最小值和最大值(或噪声变化),并将其存储在文件_2中以供进一步研究


提前感谢您的帮助

我使用
paste
AWK
组合得到它。这是一行:

paste File_1 File_2 | awk '{min = $4; if ($2 < $4){min = $2;} max = $5; if ($2 > $5){max = $2;}print $1"\t"min"\t"max;}' -
说明:

首先,使用
paste
我得到“两个文件在一个文件中”,然后我只检查最小值和最大值(如果
AWK
code中的语句),并打印每行的最终结果


注:如果您不知道如何使用,请尝试粘贴文件1文件2。。

谢谢!明天将用射频模拟器进行测试,并满怀希望地竖起大拇指回来:)我希望如此。如果您有任何问题,请告诉我;-)有一个小问题:在目标平台上没有粘贴工具。有awk和sed,但busybox中缺少粘贴。有可能以某种方式替换“粘贴”命令吗?这是一个基于MIPS32的嵌入式系统,具有busybox 1.9.1。Awk和Sed是内置的,但是如果您需要解决方案,我可以编译其他busybox部件。无论如何,用awk解决这个问题也很好。谢谢你的努力!我找到了一个awk单行程序来替换粘贴:awk'FNR==NR{first[FNR]=0;next}{print$0“\t”,(FNR在first中)?first[FNR]:“}”文件\u 1文件\u 2>输出
0   0.0000  0.0000
1   0.0000  0.0000
2   0.0000  0.0000
3   0.0000  0.0000
4   0.0000  0.0000
5   0.0000  0.0000
6   0.0000  0.0000
7   0.0000  0.0000
8   -40.00  0.0000
9   -20.00  0.0000
10  -10.00  0.0000
11  0.0000  10.00
12  0.0000  30.00
13  0.0000  20.00
14  0.0000  10.00
15  0.0000  20.00
16  0.0000  10.00
17  -10.00  0.0000
18  -10.00  0.0000
19  -10.00  0.0000
20  -10.00  0.0000
21  -10.00  0.0000
22  0.0000  10.00
23  0.0000  0.0000