- 论坛徽章:
- 0
|
本帖最后由 jzsjm1002 于 2019-03-24 12:09 编辑
文件a00.xml
100020:160908:0
300006:2141624:254
300009:37273:0
300024:7879674:3307
300025:746151:596
300026:341735:0
300027:2151826:0
300028:429171:0
300029:516083:0
300030:11755071:0
文件b00.xml
100020 160908 0
300006 2141624 0
300009 37273 0
300024 7879674 0
300025 746151 0
300026 341735 0
300027 2151826 0
300028 429171 0
300029 516083 0
300030 11755071 0
b00.xml文件对a00.xml进行校验
a00.xml $3不为0 取$3的值 代替b00x.xml $3的值
想要得结果
100020:160908:0
300006:2141624:254
300009:37273:0
300024:7879674:3307
300025:746151:596
300026:341735:0
300027:2151826:0
300028:429171:0
300029:516083:0
300030:11755071:0
脚本如下:
- [root@vh100 awk]# cat test.awk
- #!/usr/bin/awk -f
- #
- BEGIN{
- OFS=SUBSEP=":"
- }
- FILENAME=="a00.xml"{
- FS=":"
- a[$1,$2]=$3
- }
- FILENAME=="b00.xml"{
- FS=" "
- c[++j]=$1":"$2
- }
- END{
- for(i=0;++i<=j;)
- print c[i],a[c[i]]
- }
- [root@vh100 awk]# ./test.awk a00.xml b00.xml
- 100020 160908 0:: # <-- 为什么首行输出 间隔:会在后面
- 300006:2141624:254
- 300009:37273:0
- 300024:7879674:3307
- 300025:746151:596
- 300026:341735:0
- 300027:2151826:0
- 300028:429171:0
- 300029:516083:0
- 300030:11755071:0
复制代码
awk版本: GNU Awk 4.0.2
有没有大神帮忙解答一下 感谢! |
|