我有两个文件
文件 1 包含
2*J=0 EXP= 0.00000
2*J=4 EXP= 1.27911
2*J=8 EXP= 1.57613
2*J=12 EXP= 1.69134
2*J=10 EXP= 2.72705
2*J=16 EXP= 4.55689
2*J=20 EXP= 5.62138
文件 2 包含
2*J=0 EXC= 0.00000
2*J=8 EXC= 1.21836
2*J=4 EXC= 1.59642
2*J=12 EXC= 1.78359
2*J=10 EXC= 2.69484
2*J=16 EXC= 7.24518
2*J=20 EXC= 7.32688
我想加入这两个文件,这样输出将是
2*J=0 EXP= 0.00000 EXC= 0.00000
2*J=4 EXP= 1.27911 EXC= 1.59642
2*J=8 EXP= 1.57613 EXC= 1.21836
2*J=12 EXP= 1.69134 EXC= 1.78359
2*J=10 EXP= 2.72705 EXC= 2.69484
2*J=16 EXP= 4.55689 EXC= 7.24518
2*J=20 EXP= 5.62138 EXC= 7.32688
对于
join
,输入必须在连接键上按词法排序。如果您需要以其他方式对结果进行排序,则必须在加入后进行排序:sort -k3n
在以第三个字段开头的行的部分进行数字排序(默认情况下,字段由从非空白到空白的过渡分隔,因此排序键包括前导空白和数字后面的内容,但在解释时两者都被忽略作为数字;指定第三个空白分隔字段的更正确方法是sort -bk3,3n
,其中-b
去除空白并仅3,3
选择第三个字段;实际上,此处没有功能上的区别)。进程替换 (
<(...)
) 是 Korn shell 扩展。它也可以在zsh
和bash
shell 中使用。sort -bk1,1
在第一个空格分隔的字段上按词法排序(join
默认情况下键连接)。使用 GNU awk,我们可以控制输出的排序方式:
加入者.awk
然后
记录了“PROCINFO”魔法:https ://www.gnu.org/software/gawk/manual/html_node/Controlling-Array-Traversal.html