两个文件都被排序,重复项被删除。我想将file1的field1与file2的field1比较,并从file1中输出不在file2中的行。没有设置field1的长度,这导致使用uniq出现问题。
以下是数据示例:
文件1:
UUID(78-d55) NODETYPE(B) 22:42:05
UUID(78-d51) NODETYPE(B) 22:42:05
UUID(78-dca) NODETYPE(B) 22:42:37
UUID(78-494) NODETYPE(B) 22:42:37
UUID(dp@20181206003956969) NODETYPE(B) 00:39:56
文件2:
UUID(78-d55) NODETYPE(B) POLNODE(/inbound/us)
UUID(78-74e) NODETYPE(B) POLNODE(/inbound/us)
UUID(78-053) NODETYPE(B) POLNODE(/inbound/us)
UUID(78-5d6) NODETYPE(B) POLNODE(/inbound/us)
UUID(78-dca) NODETYPE(B) POLNODE(/inbound/us)
UUID(78-b0b) NODETYPE(B) POLNODE(/inbound/us)
UUID(dp@20181206003956969) NODETYPE(B) POLNODE(/inbound/us)
我想要什么:
UUID(78-d51) NODETYPE(B) 22:42:05
UUID(78-494) NODETYPE(B) 22:42:37
答案 0 :(得分:1)
看起来像join
的工作-及其-v
选项:
$ join -v1 file1 file2
UUID(78-d51) NODETYPE(B) 22:42:05
UUID(78-494) NODETYPE(B) 22:42:37
$
请注意,这取决于如上所述的要排序的文件以及每个文件中第1列的连接列以及由空格或制表符分隔的字段。如有必要,可以通过其他选项来更改其中的每一个。
使用Awk以及Perl和Python以及其他可编写脚本的语言也可以轻松完成此操作。