【发布时间】:2021-02-05 21:59:13
【问题描述】:
我有两个大文件
data.txt(包含大约 1324 行电子邮件子字符串)
test
test1
test3
test4
test6
test7
test9
test10
values.txt(包含大约 2221 行电子邮件:这包含了之前的 1324 行)
test@gmail.com
test1@gmail.com
test3@gmail.com
test4@gmail.com
test6@gmail.com
test7@gmail.com
test9@gmail.com
test10@gmail.com
test74@gmail.com
test14@gmail.com
test34@gmail.com
test44@gmail.com
test64@gmail.com
test74@gmail.com
一切正常,问题是我应该有一个包含 897 行电子邮件的文件,而我现在拥有的是 874 行电子邮件。
所以有 23 行丢失了,我不知道如何找到它们。 也许是我的功能有问题?
grep -v -f data.txt values.txt > result.txt
有没有办法用 grep 做到这一点?
预期结果.txt
test74@gmail.com
test14@gmail.com
test34@gmail.com
test44@gmail.com
test64@gmail.com
test74@gmail.com
【问题讨论】:
-
``comm -1 only_in_data` 可能会对你有所帮助。使用 -2 并将输出更改为
only_in_values。祝你好运。 -
您是否有子字符串匹配项,其中
data.txt包含test1并与test10@gmail.com匹配?如果是这样,请尝试将-w添加到 grep 选项以要求完整的单词匹配。