首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >grep输入文件中的某一列

grep输入文件中的某一列
EN

Stack Overflow用户
提问于 2018-04-09 15:36:28
回答 1查看 107关注 0票数 0

我有一个文件,file1.txt,其数据格式如下:

代码语言:javascript
复制
EMERGE-3 16218877 0 0 2 -9
EMERGE-3 16230920 0 0 1 -9
EMERGE-8 16220003 0 0 1 -9
EMERGE-9 16231695 16220014 16220010 1 -9
EMERGE-11 16218001 0 0 1 -9

我有另一个文件file2.txt,它的I列表格式如下:

代码语言:javascript
复制
16230920
16220014
16218001
16218877

我只想在file1.txt的第2列上执行grep搜索。因此,搜索的输出如下:

somecommand file1 file2

代码语言:javascript
复制
EMERGE-3 16230920 0 0 1 -9
EMERGE-11 16218001 0 0 1 -9
EMERGE-3 16218877 0 0 2 -9

(注意,输出中没有包含行EMERGE-9 16231695 16220014 16220010 1 -9 )。这是我现在面临的主要问题。如果我执行以下命令:

grep -f file2.txt file1.txt

输出将包括行EMERGE-9 16231695 16220014 16220010 1 -9,因为ID 16220014位于file1.txt的第3列,但我试图避免在输出中包括这一行-也就是说,我只想在file1.txt的第2列中搜索ID。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-09 15:46:02

遵循awk可能会帮助您在同样的。

代码语言:javascript
复制
awk 'FNR==NR{a[$0];next} ($2 in a)' file2.txt  file1.txt
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49736686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档