比较两个文件
我有两个不同行的文件:
文件 1:
31.32 29.15 46.77 106.40 11370
25.81 40.82 25.67 30.08 16365
27.11 42.32 14.48 50.04 18310.7
26.48 42.34 12.65 62.78 19607.5
24.48 46.00 17.16 11.86 22087.2
26.75 43.91 29.65 55.81 24032.7
30.91 34.85 15.25 50.93 26703
25.24 41.62 16.54 51.57 38032.9
23.48 41.97 17.33 50.88 48981.2
24.16 39.34 16.99 50.86 77513.4
22.90 41.59 19.76 50.31 135803
19.98 43.52 20.58 45.65 747049
19.96 43.64 20.43 45.37 809913
19.93 43.75 20.41 45.33 863931
和文件 2:
12.4 -32.1 39.1 -44.9 135497.688
8.6 -38.6 39.3 -44.8 48981.191
1.0 -45.0 0.0 -54.0 45928.445
13.9 -70.1 39.4 -44.8 26702.982
我想比较这两个文件和输出:
文件 3
13.9 -70.1 30.91 34.85 39.4 -44.8 15.25 50.93 26702.982
8.6 -38.6 23.48 41.97 39.3 -44.8 17.33 50.88 48981.191
问题是两个文件中各自的列值不完全匹配。但如果它们在一定的误差范围内(例如,+/- 1)匹配,那就没问题了。
使用 F/R/C 表示文件/行/列来注释文件 3 中的值的来源:
13.9 -70.1 30.91 34.85 39.4 -44.8 15.25 50.93 26702.982
2/4/1 2/4/2 1/7/1 1/7/2 2/4/3 2/4/4 1/7/3 1/7/4 2/4/5
8.6 -38.6 23.48 41.97 39.3 -44.8 17.33 50.88 48981.191
2/2/1 2/2/2 1/9/1 1/9/2 2/2/3 2/2/4 1/9/3 1/9/4 2/2/5
但是:
- 为什么文件 2 中的其他行没有条目?
- 为什么文件 1 中没有其他行的条目?
- 文件 1 第 7 行中的值与文件 2 第 4 行中的值有何关系?
- 文件 1 第 9 行中的值与文件 2 第 2 行中的值有何关系?
- 为什么文件 1 的第 5 列不在输出中?
- 文件 1 的第 5 列是否与文件 2 的第 5 列连接,公差为 ±1?
I have two files which are different row :
file 1:
31.32 29.15 46.77 106.40 11370
25.81 40.82 25.67 30.08 16365
27.11 42.32 14.48 50.04 18310.7
26.48 42.34 12.65 62.78 19607.5
24.48 46.00 17.16 11.86 22087.2
26.75 43.91 29.65 55.81 24032.7
30.91 34.85 15.25 50.93 26703
25.24 41.62 16.54 51.57 38032.9
23.48 41.97 17.33 50.88 48981.2
24.16 39.34 16.99 50.86 77513.4
22.90 41.59 19.76 50.31 135803
19.98 43.52 20.58 45.65 747049
19.96 43.64 20.43 45.37 809913
19.93 43.75 20.41 45.33 863931
and file 2:
12.4 -32.1 39.1 -44.9 135497.688
8.6 -38.6 39.3 -44.8 48981.191
1.0 -45.0 0.0 -54.0 45928.445
13.9 -70.1 39.4 -44.8 26702.982
I would like to compare these two files and the output :
file 3
13.9 -70.1 30.91 34.85 39.4 -44.8 15.25 50.93 26702.982
8.6 -38.6 23.48 41.97 39.3 -44.8 17.33 50.88 48981.191
The problem is the respective columns value in the two files are not exactly matched. But It will be fine if they match within certain error bounds (e.g., +/- 1).
Annotating where values in file 3 come from, using F/R/C for File/Row/Column:
13.9 -70.1 30.91 34.85 39.4 -44.8 15.25 50.93 26702.982
2/4/1 2/4/2 1/7/1 1/7/2 2/4/3 2/4/4 1/7/3 1/7/4 2/4/5
8.6 -38.6 23.48 41.97 39.3 -44.8 17.33 50.88 48981.191
2/2/1 2/2/2 1/9/1 1/9/2 2/2/3 2/2/4 1/9/3 1/9/4 2/2/5
But:
- Why are there no entries for the other lines in File 2?
- Why are there no entries for the other lines in File 1?
- How are the values in File 1 Row 7 related to the values in File 2 Row 4?
- How are the values in File 1 Row 9 related to the values in File 2 Row 2?
- Why is Column 5 of File 1 not in the output?
- Is File 1 Column 5 joined with Column 5 of File 2, with a tolerance of ±1?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这:
将为您的输入生成:
最后一列被舍入。
更紧凑的形式:
This:
will produce for your input this:
The last column is rounded.
more compact form:
只能用 awk。
如果需要对其进行排序,请将输出通过管道传输到
sort
Only with awk.
If you need it to be sorted, pipe the output into
sort