gpt4 book ai didi

unix - 使用 awk 命令比较两个文件

转载 作者:行者123 更新时间:2023-12-04 04:56:35 27 4
gpt4 key购买 nike

我有两个文件,比如 file1file2 , 进行比较并放入 file3 .
file1 :

red
green
blue
red
yellow
pink
orange
file2 :
domain1,red,-
domain2,-,green
domain3,blue,-
domain4,yellow,pink
domain5,grey,orange

现在我需要在 file3 中输出如下:
domain1,red
domain2,green
domain3,blue
domain1,red
domain4,yellow
domain4,pink
domain5,orange

对于 file1 中的每条记录,如果匹配,则需要产生 $1作为强制性和匹配的值是 $2$3来自 file2 , 如果两者 ($2,$3) 都匹配,那么它应该在两条记录中(单条记录也可以)为“domain5,pink,orange”。

我是 awk 命令的新手。请通过 awk 帮助我实现这一目标!

我有这个简单的命令,它不能满足我的条件
awk 'NR==FNR{x[$1];next}($2,$3) in x' FS=',' file1 file2 >file3

最佳答案

awk -F, 'BEGIN{OFS=","} 
NF>1 {s[$2]=s[$3]=$1;}
NF==1 {print s[$1],$1}' input2 input1

输出
domain1,red
domain2,green
domain3,blue
domain1,red
domain4,yellow
domain4,pink
domain5,orange

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

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