我需要获取逐行比较文件并列出差异的脚本

问题描述 投票:0回答:1

我有 2 个文件,

A.txt
B.txt

A.txt
包含服务和版本号对:

api 2.3
java 3.3

B.txt
包含相同的内容:

api 4.3
java 4.5

我想比较版本并将其显示为第三列,如下所示:

col1  col2  col3    col4
api   2.3   4.3     no match
java  3.3   4.5     no match
shell awk
1个回答
0
投票

如果您确实想要的话,可以自己添加标题:

$ awk -v OFS='\t' 'NR==FNR{b[$1]=$2;next} {$1=$1; print $0, b[$1], ($2==b[$1] ? "" : "no ") "match"}' B.txt A.txt
api     2.3     4.3     no match
java    3.3     4.5     no match
© www.soinside.com 2019 - 2024. All rights reserved.