gpt4 book ai didi

linux - 使用 Awk 比较两个文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:06:30 26 4
gpt4 key购买 nike

我有两个文本文件,一个包含 ID 列表,另一个包含一些 ID 和相应的值。

文件 1

abc
abcd
def
cab
kac

文件 2

abcd   100
def 200
cab 500
kan 400

所以,我想比较这两个文件并获取匹配列的值,同时保留文件 1 中的所有 ID,并将“NA”分配给文件 2 中没有值的 ID

期望的输出

abc     NA
abcd 100
def 200
cab 500
kac NA

PS: 只有 Awk 脚本/一行代码

我用来打印匹配列的代码:

awk 'FNR==NR{a[$1]++;next}a[$1]{print $1,"\t",$2}'

最佳答案

$ awk 'NR==FNR{a[$1]=$2;next} {print $1,  ($1 in a? a[$1]: "NA") }' file2 file1
abc NA
abcd 100
def 200
cab 500
kac NA

关于linux - 使用 Awk 比较两个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39654115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com