所以我有两个txt文件 file1.txt
s
j
z
z
e
和file2.txt
s h
f a
j e
k m
z l
d p
e o
我想做的是将file1的第一个字母与文件2的第一个字母匹配,然后返回文件2的第二列。因此,例如,排除的输出将是
h
e
l
l
o
我正在尝试使用join file1.txt file2.txt,但这只是打印出整个第二个文件。不知道如何解决此问题。谢谢。
答案 0 :(得分:3)
这是awk的经典作品:
$ awk 'NR==FNR{a[$1]=$2;next}{print a[$1]}' file2 file1
h
e
l
l
o
解释:
$ awk '
NR==FNR { # processing file2
a[$1]=$2 # hash records, first field as key, second is the value
next
} { # second file
print a[$1] # output, change the record with related, stored one
}' file2 file1