У меня есть два разных файла с одним столбцом в каждом. В файле 1 есть дополнительная информация, и мне нужна команда для поиска совпадений с файлом 2, а затем возвращение исходного файла 1 с дополнительным столбцом, например, «совпадение»
Файл 1
Mg_134
Mg_560
Файл 2
Mg_1
Mg_134
Вывод
Mg_134 match
Mg_560
Я пытался использовать join и grep -Ff, но мне хотелось бы получить именно такой результат. Спасибо
Если файлы отсортированы, стандартный инструмент для этого - comm
:
comm -2 file1 file2
Параметр -2
предназначен для подавления строк печати, уникальных для file2
.
Он не дает точный формат, который вы указали. Однако вы можете проанализировать его, чтобы получить такой результат, если хотите. (Стандартные инструменты и стандартные форматы обычно довольно хорошо продуманы.)
Это должна быть довольно стандартная задача для awk
awk 'NR==FNR {a[$1]++; next} $1 in a {$2="match"}1' File2 File1
Mg_134 match
Mg_560