我有2个不同的文件:
first file:
id1 19501112
id2 19831207
1d4 20001212
id6 20000101
id10 20061213
id11 20081212
id12 20100109
id13 20101218
id14 20101212
id15 20111111
id16 20150919
id20 20141415
第二个文件:
id100
id2
id4
id44
id10
id16
id2000
id34
id5
id7
所以我想提取文件1中与第二个文件中的ID相同的行。所以我希望我的输出文件看起来像:
id2 19831207
1d4 20001212
id10 20061213
id16 20150919
有什么建议吗?
使用GNU grep:
grep -w -f file2.txt file1.txt
这告诉grep
您仅对整个“单词”进行匹配,并获取要从file2.txt搜索的模式列表
如果file2.txt的内容有可能出现在file1.txt的其余行中,则可以使用sed和bash的进程替换,如下所示:
grep -f <(sed -e 's/^/^/ ; s/$/\\b/' file2.txt) file1.txt
在s中使用sed之前,它会使用sed将其转换idN
成。^idN\b
grep -f
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句