【发布时间】:2019-08-24 11:23:42
【问题描述】:
我有两个文件,我想比较某些字段并生成输出
我也有一个变量
echo ${CURR_SNAP}
123
文件1
DOMAIN1|USER1|LE1|ORG1|ACCES1|RSCTYPE1|RSCNAME1
DOMAIN2|USER2|LE2|ORG2|ACCES2|RSCTYPE2|RSCNAME2
DOMAIN3|USER3|LE3|ORG3|ACCES3|RSCTYPE3|RSCNAME3
DOMAIN4|USER4|LE4|ORG4|ACCES4|RSCTYPE4|RSCNAME4
文件2
ORG1|PRGPATH1
ORG3|PRGPATH3
ORG5|PRGPATH5
ORG6|PRGPATH6
ORG7|PRGPATH7
我期望的输出如下,其中最后一列是 CURR_SNAP 值,并且匹配将是 File1 的第 4 列应该与 File2 的第 1 列匹配
DOMAIN1|USER1|LE1|ORG1|ACCES1|RSCTYPE1|123
DOMAIN3|USER3|LE3|ORG3|ACCES3|RSCTYPE3|123
我尝试了下面的代码片段,但看起来我做得不对
awk -v CURRSNAP="${CURR_SNAP}" '{FS="|"} NR==FNR {x[$0];next} {if(x[$1]==$4) print $1"|"$2"|"$3"|"$4"|"$5"|"$6"|"CURRSNAP}' File2 File1
【问题讨论】:
-
这应该让您了解如何将环境变量 inn 获取到
awkstackoverflow.com/questions/19075671/… -
行得通;但 if 部分仍然不起作用。