[英]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.