Unix 如何通过排除B文件中的任何MBrid从文件中获取行?管道分隔文件
文件A以管道分隔,500万行:Unix 如何通过排除B文件中的任何MBrid从文件中获取行?管道分隔文件,unix,ksh,Unix,Ksh,文件A以管道分隔,500万行: 600000002233199881|1000109668|2019-05-10| 600000002233199700|1000002681|2019-05-10| 600000002233199701|1000003390|2019-05-10| 文件B只有1列ID,1 k行: 1000002681 1000109668 除了B文件中的ID之外,如何从文件中获取行?预期产出为: 600000002233199701|1000003390|2019-05-1
600000002233199881|1000109668|2019-05-10|
600000002233199700|1000002681|2019-05-10|
600000002233199701|1000003390|2019-05-10|
文件B只有1列ID,1 k行:
1000002681
1000109668
除了B文件中的ID之外,如何从文件中获取行?预期产出为:
600000002233199701|1000003390|2019-05-10|
我从下面的链接尝试了grep-Fwf fileB fileA
,但对我的案例无效。我想知道如何改变它的工作。
要排除,您需要
-v
标志
尝试grep-Fvwf fileB fileA
。确保文件B末尾没有空行
$ cat fileA
600000002233199881|1000109668|2019-05-10|
600000002233199700|1000002681|2019-05-10|
600000002233199701|1000003390|2019-05-10|
$ cat fileB
1000002681
1000109668
$ grep -Fvwf fileB fileA
600000002233199701|1000003390|2019-05-10|
$
您想整行显示
grep
,还是只显示第2列中的匹配项?是否要查找60000001009668 | 100000000 | 2019-05-10 |
?