我正在尝试使用 awk 合并 2 个文件。第一个文件看起来像这样
exm-IND1-200449980 1 202183358
exm-IND1-201453487 1 203186865
exm-IND10-102817747 10 102827758
文件 2 看起来像这样
exm-IND1-200449980_ver3 -0.0676 0.9988
exm-IND1-201453487_ver1 0.0845 0.0163
exm-IND10-102817747_ver3 -0.1154 0.5166
我想将文件 2 的第一列添加到文件 1 中的信息中。我希望它匹配两个文件的第一列,但忽略“_ver3”或“_ver1”字段。我不能在需要时删除这些信息。
我以为 grep 会找到不完全匹配的,但是当我尝试时
grep exm-INDI1-200449980_ver3 file1
什么都没有返回
我试过了
awk 'NR==FNR{a[$1]=$0; next;}$1 in a {print a[$1]" "$1" "$2" "$3}' file2 file1 > file3
但它没有给我任何输出,我认为是因为它只搜索完全匹配?
文件 2 有约 16,000 行,文件 1 有约 1,000,000 行。
我正在寻找的输出将是这样的,
exm-IND1-200449980 1 202183358 exm-IND1-20449980_ver3
exm-IND1-201453487 1 203186865 exm-IND1-201453487_ver1