【发布时间】:2017-12-21 10:09:09
【问题描述】:
我正在尝试进行匹配和不匹配练习..我确实尝试过尝试 grep 和 diff...但它只匹配整行....是否可以匹配文件中的行,如下所示?
如果我有 2 个文件:
文件 1:
cat_cute
green_apple_sour
red_bean_big
red_pepper_three
ginger_yellow
文件 2:
cat
green_apple
red_pepper
papaya
输出:
(file1)
red_bean_big
ginger_yellow
(file2)
papaya
在发布此问题之前,我已成功尝试以下方法。我很抱歉没有在我的第一篇文章中列出这个。 我将文件 2 设置为目标匹配。对于文件 1,我使用 TCL 删除所有不需要的形容词。然后我得到新文件 1
新文件 1:
cat
green_apple
red_bean
red_pepper
ginger
然后我申请了:
grep -Fxvf newfile1 file2
我得到了我想要的输出。
我只是想知道是否有其他方法可以仅使用 grep 命令而不使用 TCL regsub 进程。我确实尝试过 awk、comm 和 grep。仅当整行匹配 100% 时才匹配。
谢谢。
【问题讨论】:
-
如果 file1 中有一行
dogs_eat_papaya,该行是否应该出现在输出中? -
grep -v -f file2 file1似乎就是你所需要的。 -
不...只是完全匹配前面而已。
-
所以假设后面可以是任何数字。 dog1 dog56 dog135 在我的文件 1 中;文件2中的狗。是否有可能输出:全部匹配。 ?
-
我已投票决定关闭此问题,因为它似乎是请求推荐工具或解决方案,而不是请求帮助您自己的代码。这使您的问题与 StackOverflow 无关。如果该评估不正确,并且您确实需要帮助编写自己的代码,那么请add your work so far to your question,我将撤回我的近距离投票。