[英]compare two columns of different files and print if it matches linux
我有 2 个文件
文件 1:
包含(114 行数据)
head file1.txt
AC002310.2
AC007298.2
AL132780.1
TULP1
LINC02626
LINC02211
AC239809.3
GTF2F2
TCF3
SOX4
文件 2:包含 20236 行,2 列,制表符分隔
head file2.txt
AF130248.1 lncRNA
AC023296.1 lncRNA
AL137139.3 lncRNA
AC114778.2 lncRNA
AL162231.5 lncRNA
Z97205.3 lncRNA
AC010184.1 lncRNA
AL357874.3 lncRNA
AL645933.5 lncRNA
AC116317.2 lncRNA
所以我想比较这两个文件并从文件 2 中只保留基于第一列与文件 1 匹配的数据但我还想要来自文件 2 的第二列的信息
我尝试了以下但它不起作用
awk -F '\t' 'NR==FNR{c[$1]++;next};c[$1] > 0' file2.txt file1.txt
我将不胜感激
您的示例在两个文件中都没有提供任何匹配的字段,但是应该这样做:
awk 'NR==FNR{c[$1]; next} $1 in c' file1 file2
这将打印file2
中第一个字段存在于file1
中的所有行
听起来像grep
会工作:
grep -Ff file1.txt file2.txt
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.