Shell 基于部分行区分两个文件

Shell 基于部分行区分两个文件,shell,sed,grep,diff,Shell,Sed,Grep,Diff,我有一个包含如下行的文件 010203040506阿泽蒂 02034050607 qwerty 和另一个文件,其中的行如下 XXXXXXXXXXXX 010203040506 YYYYYYYYYYYYYYYYYYYYYY =>文件有数百万行 =>如何制作“类似于差异”的东西:获取第一个文件行,但不获取第二个文件中数字在一行中的行? 就像在我的例子中,结果应该是 02034050607 qwerty 多亏了KamilCuk的回答和这个链接,我发现join-v1file1file2只显示未配对的行1

我有一个包含如下行的文件

010203040506阿泽蒂

02034050607 qwerty

和另一个文件,其中的行如下

XXXXXXXXXXXX 010203040506 YYYYYYYYYYYYYYYYYYYYYY

=>文件有数百万行

=>如何制作“类似于差异”的东西:获取第一个文件行,但不获取第二个文件中数字在一行中的行? 就像在我的例子中,结果应该是

02034050607 qwerty


多亏了KamilCuk的回答和这个链接,我发现join-v1file1file2只显示未配对的行

1。使用
sed
,解析第二个文件-删除所有内容并仅提取带有数字的列。2. <代码>排序第一列上的两个文件,即带有数字的列。3.使用
join
连接第一列上的两个文件。事实上,我看到实际上并不需要
sed
,如果数字按所示的空格很好地分开,您可以对第一列上的第一个文件进行
排序,第二列上的第二个文件进行排序。然后用
-o1.1,1.2
-11-22
上加入