【发布时间】:2012-07-02 11:06:32
【问题描述】:
尝试从命令行中获得更多信息:
我有一个文件:
CHR25 1192279 Y Exonic NA exon 2 [1/1] 1192145 1192322
CHR25 1192279 Y Exonic NA CDS 2 [1/1] 1192145 1192322
CHR25 1739394 Y Exonic NA CDS 2 [1/2] 1739294 1739456
我想根据第 2 列获得唯一行。我已经完成了
cat file | cut -f 2 | uniq > grepfile
但我不确定现在如何使用 grep -f 每行获得一个匹配项,就像我之前所做的那样。使用 -m1 or | head -n 1 只会给出第一个匹配行。我希望第一行匹配 'grepfile' 中的每一行。
期待答案=)
【问题讨论】:
-
所以您只需要示例中的第一行和第三行?还是第二和第三?哪个重要?
-
从问题中不清楚您想要实现什么。根据您已经提供的示例输入文件添加您想要获得的最终输出,我相信我们将能够提供帮助。
-
我想我明白了。这是 awk 的工作。
awk '!s[$2]++' -
我只想得到
grepfile中每一行的第一个匹配项 -
@AlanCurry 很好用,真的需要了解一下 awk
标签: unix command-line grep