【问题标题】:How to search contents of one file in another file which are not exists如何在另一个不存在的文件中搜索一个文件的内容
【发布时间】:2013-11-24 16:30:36
【问题描述】:

我有一个文件 (FILEA),它有 1000000 个 IMEI 号码。我有另一个文件(FILEB),它的记录是文件的 5 倍。这意味着 5000000 行。

FILEA 如下所示:

1234567790
4567834456
5566898954
5656788856

FILEB 如下所示:

1234567790 ABABDHKDHDJS
2222222222 RHJEOSBHOWHW
5566898954 DGJRIWCNISKS
5656788856 GHEUNDBUEOKK

现在我想要 FILEA 中不存在的所有 IMEI 列表

所以我的输出应该是另一个文件,如下所示。

FILEC 看起来像

2222222222 RHJEOSBHOWHW

类似下面的东西也可以更快地工作。

grep -f File_1 File_2 > File_3

【问题讨论】:

    标签: shell unix grep command


    【解决方案1】:

    这是使用awk的一种方式:

    awk 'FNR==NR { a[$1]; next } !($1 in a)' filea fileb > filec
    

    结果:

    2222222222 RHJEOSBHOWHW
    

    【讨论】:

    • 您好史蒂夫,感谢您的评论。但是它给了我以下错误。 awk:第 1 行附近的语法错误 awk:在第 1 行附近退出
    • @user2642751:使用gawkmawknawk 对我来说效果很好。你用的是什么风格和版本的awk
    • @user2642751:只是随机猜测,但您使用的是 Solaris 吗?如果是这样,您可能需要使用/usr/xpg4/bin/awk 而不是awk。无论如何,如果我是你,我会尽快安装 GNU awk。从长远来看,它将节省大量时间/精力。
    • 在这种情况下,@user2642751 由于您是新来的,如果您的问题已经解决,请不要忘记将答案标记为已接受。您可以单击答案旁边的复选标记将其从空心切换为绿色。如有任何疑问,请参阅Help Center > Asking
    猜你喜欢
    • 2011-04-09
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    • 2013-02-10
    • 1970-01-01
    • 2011-02-12
    相关资源
    最近更新 更多