比较两个未分类的文件

Ang*_*elo 7 bash shell

我有两个制表符分隔文件(请参阅下面的示例):

档案1

Java    RAJ
PERL    ALEX
PYTHON  MAurice
Run Code Online (Sandbox Code Playgroud)

(等等)

档案2

ALEX    3.4
SAM     8.9
PEPPER  9.0
Run Code Online (Sandbox Code Playgroud)

现在,如果例如在文件2中也找到ALEX(不确定是否会找到ALEX),我应该有第三个文件,如下所示:

PERL ALEX 3.4
Run Code Online (Sandbox Code Playgroud)

代码应该检查file2中文件1的第2列中的所有值.

有关bash脚本的任何建议吗?

mhy*_*itz 6

你想用join它.首先,您需要根据连接字段进行排序:

join -1 2 -2 1 <(sort +1 -2 file1) <(sort +0 -1 file2)
Run Code Online (Sandbox Code Playgroud)


gle*_*man 5

awk 'NR==FNR {val[$1]=$2; next} $2 in val {print $0, val[$2]}' file2 file1
Run Code Online (Sandbox Code Playgroud)