Chinaunix

标题: 文件1的所有行中选出包含文件2关键词的行,谢谢。 [打印本页]

作者: 2013fish    时间: 2019-09-22 15:42
标题: 文件1的所有行中选出包含文件2关键词的行,谢谢。
比如1个文件,有两行包含南京,在结果中列出,再找包含武汉的,又列出两个。谢谢各位。


file1
江苏  东南大学
江苏  南京农业大学
江苏  南京理工大学
江苏  常州大学
湖北  武汉大学
湖北  武汉科技大学
湖北  华中师范大学
湖北  江汉大学



file 2
南京
武汉


想得到如下结果,就是包包含有文件2关键词的那行给显示出来。

江苏  南京农业大学
江苏  南京理工大学
湖北  武汉大学
湖北  武汉科技大学


作者: legs    时间: 2019-09-23 08:50
grep -f file2 file1
作者: 2013fish    时间: 2019-09-23 12:29
回复 2# legs

谢谢,这命令简单快捷。
作者: 2013fish    时间: 2019-09-26 19:05
大神们,
还有别的方法吗,这个
grep -f file2 file1 文件太大了,好像执行不了.谢谢。
作者: jzsjm1002    时间: 2019-09-26 20:07
本帖最后由 jzsjm1002 于 2019-09-26 20:10 编辑

回复 4# 2013fish

  1. awk 'NR==FNR{a[$0];next}{for(i in a)if($0~i){print $0;break}}' file2 file1
复制代码






欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2