【发布时间】:2020-06-30 07:25:34
【问题描述】:
我有几个文件,每个文件都有两列,其中包含一些错误数据作为大的负值。
file_1.txt
3 4
4 5
2 4
-10023 -9821
4 7
9 1
3 5
3 4
file_2.txt
6 2
4 5
2 4
-98323 -83432
-208932 4
7 17
20 3
20 2
file_3.txt
4 4
2 4
2 4
-129923 -1209923
2 3
12 3
2 4
7 1
我想在不考虑错误数据的情况下打印上述文件中第 1 列和第 2 列之间差异的最大值。简单来说,
Maximum [ ($1 - $2) file*.txt ]
期望的输出
ofile.txt
4
-1
-2
-99999
-1
9
17
18
【问题讨论】:
-
but not getting the result.但你有什么收获吗?你得到什么?I would like to replace all the wrong values with -99999所以...添加else print -99999?或者像print A一样打印,然后在将文件合并到if ($1 == "A" || $2 == "A"...) print -999999时。 -
所有负数的行都是你不想考虑的吗?
-
您的算法中有 几个步骤(命令)。那么,哪一步首先给出了错误的结果?这不是最后一步,它只打印文件
file*.txt中的最大值吗?所以这个问题与“最大差异”完全无关。另请注意,file*.txt不仅匹配生成的文件file1.txt、file2.txt和file3.txt,还匹配您的原始文件file_1.txt、file_2.txt和file_3.txt,这可能不是你想要的。 -
为了完整起见,您应该在样本数据中包含一些您不想希望排除的负数行。
-
所有输入文件的行数都一样吗?