如何通过排除B文件中的任何MbrId获得A文件中的行?一个是管道分隔文件

时间:2019-05-22 18:44:59

标签: 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

如何从A文件中获取B文件中的ID以外的行?预期的输出是:

600000002233199701|1000003390|2019-05-10|

我通过下面的链接尝试了grep -Fwf fileB fileA,但不适用于我的情况。我不知道如何将其更改为工作状态。 https://unix.stackexchange.com/questions/110645/select-lines-from-text-file-which-have-ids-listed-in-another-file

1 个答案:

答案 0 :(得分:1)

要排除,您需要-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|
$