大家好,欢迎来到IT知识分享网。
shell数组对比
#array
numa=(0 1 2 3 4 5)
numb=(4 5 6 7 8 9)
#并集:a+b=(0 1 2 3 4 5 6 7 8 9)
declare -a num0
num0=(`echo ${
numa[*]} ${
numb[*]}|sed 's/ /\n/g'|sort|uniq`)
#对称差集:(a-b)+(b-a)=(0 1 2 3 6 7 8 9)
declare -a num1
num1=(`echo ${
numa[*]} ${
numb[*]}|sed 's/ /\n/g'|sort|uniq -c|awk '$1==1{print $2}'`)
#交集:(a+b)-((a-b)+(b-a))=(4 5)
declare -a num2
num2=(`echo ${
num0[*]} ${
num1[*]}|sed 's/ /\n/g'|sort|uniq -c|awk '$1==1{print $2}'`)
#差集(a差b):a-b=(0 1 2 3)
declare -a num3
num3=(`echo ${
numa[*]} ${
num2[*]}|sed 's/ /\n/g'|sort|uniq -c|awk '$1==1{print $2}'`)
#差集(b查a):b-a=(6 7 8 9)
declare -a num4
num4=(`echo ${
numb[*]} ${
num2[*]}|sed 's/ /\n/g'|sort|uniq -c|awk '$1==1{print $2}'`)
echo 并集
echo ${num0[*]}
echo 对称差集
echo ${num1[*]}
echo 交集
echo ${num2[*]}
echo a差b
echo ${num3[*]}
echo b差a
echo ${num4[*]}
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/10517.html