簡體   English   中英

比較兩列不同文件並打印是否匹配 linux

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM