File-Comparison

比較兩個文件並在第一個文件中添加額外的列列印匹配項

  • November 22, 2016

我有兩個不同的文件,每個文件有一列。文件 1 有更多資訊,我想要一個命令來搜尋文件 2 的匹配項,然後返回原始文件 1 並帶有一個額外的列,例如“匹配”

文件 1

Mg_134
Mg_560

文件 2

Mg_1
Mg_134

輸出

Mg_134 match
Mg_560

我嘗試使用 join 和 grep -Ff,但我想要這個特定的輸出。謝謝

這應該是一個非常標準的任務awk

awk 'NR==FNR {a[$1]++; next} $1 in a {$2="match"}1' File2 File1
Mg_134 match
Mg_560

如果文件已排序,則標準工具是comm

comm -2 file1 file2

-2選項是抑制file2.

它沒有給出您指定的確切格式。但是,您可以根據需要對其進行解析以提供該輸出。(標準工具和標準格式通常經過深思熟慮。)

引用自:https://unix.stackexchange.com/questions/325291