如何比较2个数组
时间:2011-03-01
来源:互联网
B="AA bb CC dd ee"
比较结果输出如下:
X=aa cc
作者: chinaboywg 发布时间: 2011-03-01
作者: cjaizss 发布时间: 2011-03-01
cjaizss 发表于 2011-03-01 12:44
那如何比较?
作者: chinaboywg 发布时间: 2011-03-01
- #! /bin/bash
- A="aa bb cc dd ee"
- B="AA bb CC dd ee"
-
- AA=($A)
- BB=($B)
- for i in `seq 0 ${#AA[@]}`;do
- if [ ${AA[$i]} != ${BB[$i]} ];then
- X[$i]=${AA[$i]}
- fi
- done
- echo ${X[@]}
作者: 昭襄王 发布时间: 2011-03-01
B="AA bb CC dd ee"
比较结果输出如下:
X=aa cc
chinaboywg 发表于 2011-03-01 12:41
如果
A="aa xx bb cc dd ee"
B="AA bb CC dd ee"
你想输出什么呢?
作者: cjaizss 发布时间: 2011-03-01
输出 A在B中没有的
作者: chinaboywg 发布时间: 2011-03-01
awk 'NR==1{for(i=1;i<=NF;i++) B[$i]=1}NR==2{for(j=1;j<=NF;j++) {if(B[$j]!=1) print $j}} ' <(echo $B) <(echo $A)
aa
cc
作者: yinyuemi 发布时间: 2011-03-01
yinyuemi 发表于 2011-03-01 14:16
awk 'NR==1{for(i=1;i<=NF;i++) B[$i]=1}NR==2{for(j=1;j<=NF;j++) {if(B[$j]!=1) print $j}} ' <(echo $B) <(echo $A)
awk: (FILENAME=/dev/fd/62 FNR=3) fatal: error reading input file `/dev/fd/63': Bad file descriptor
作者: chinaboywg 发布时间: 2011-03-01
输出 A在B中没有的
chinaboywg 发表于 2011-03-01 13:58
那还是awk吧,awk的hashtable很好很强大
作者: cjaizss 发布时间: 2011-03-01
chinaboywg 发表于 2011-03-01 14:39
我这里可以
- echo $A
- aa bb cc dd ee
-
- echo $B
- AA bb CC dd ee
-
- awk 'NR==1{for(i=1;i<=NF;i++) B[$i]=1}NR==2{for(j=1;j<=NF;j++) {if(B[$j]!=1) print $j}} ' <(echo $B) <(echo $A)
- aa
- cc
作者: yinyuemi 发布时间: 2011-03-01
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28