我有 2 个文件,一个带分隔符,另一个是位置文件。
这两个文件共享相同的唯一 ID,如下所示,但两个文件包含不同的信息。
del.txt
11111|abc|01|||||||||
22222|xyz|09|||||||||
pos.txt
11111 abc newyork US
22222 xyz dallas US
del.txt 文件由唯一的成员 ID 组成,后跟名称和备用 ID,以 | 分隔。 (分隔)和类似的 pos.txt 具有唯一的 ID 和名称,但位置格式中的替代 id 除外。
仅当两个文件中的唯一会员 ID 匹配时,我才想在 pos.txt 中插入备用 ID,如下所示
pos.txt
11111 abc newyork US 01
22222 xyz dallas US 09
我们如何使用 shell 脚本来实现这一点?
答案1
对于这个问题,我认为最好的方法是使用awk
:
$ awk -F'[ |]' 'FNR==NR{a[$1]=$3;next}($1 in a){print $0" "a[$1]}' del.txt pos.txt
11111 abc newyork US 01
22222 xyz dallas US 09