我有两个文件。我想比较两个文件并使用field1进行匹配。我想排除最后一个字段进行比较。如果两者之间的所有字段都不匹配,则打印两行并返回。行可以在第一个和最后一个之间具有不同数量的字段。
File1中
LSP0 NODE0 NODE4 NODE3 591
LSP1 NODE1 NODE2 NODE3 725
LSP2 NODE4 NODE5 515
LSP3 NODE2 NODE4 NODE3 NODE6 725
文件2
LSP0 NODE0 NODE4 NODE5 NODE3 515
LSP1 NODE1 NODE2 NODE3 576
LSP2 NODE4 NODE5 615
LSP3 NODE2 NODE1 614
输出
LSP0 NODE0 NODE4 NODE3 591
LSP0 NODE0 NODE4 NODE5 NODE3 515
LSP3 NODE2 NODE4 NODE3 NODE6 725
LSP3 NODE2 NODE1 614
答案 0 :(得分:1)
Awk
解决方案:
awk '{
rec1 = $0; $NF = ""; trimmed = $0; getline < "file2"; rec2 = $0; $NF = "";
print ($0 != trimmed? rec1 ORS rec2 : "")
}' file1
输出:
LSP0 NODE0 NODE4 NODE3 591
LSP0 NODE0 NODE4 NODE5 NODE3 515
LSP3 NODE2 NODE4 NODE3 NODE6 725
LSP3 NODE2 NODE1 614