shell数组对比

shell数组对比shell数组对比#arraynuma=(012345)numb=(456789)#并集:a+b=(0123456789)declare-anum0num0=(`echo${numa[*]}${numb[*]}|sed’s//\n/g’|sort|uniq`)#对称差集:(a-b)+(b-a)=(01236789)declare-anum1num1=(`echo${numa[*]}${numb[*]}|sed’s

大家好,欢迎来到IT知识分享网。shell数组对比"

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

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信