LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: xnkjdx1998

怎么从多个数组中提取某些共同的元素?

[复制链接]
发表于 2006-11-24 17:02:35 | 显示全部楼层
  1. aa=(11 33 55 77)
  2. bb=(11 22 44 66 77)
  3. cc=(11 88 99 77)

  4. all="${aa[*]} ${bb[*]} ${cc[*]}"
  5. echo $all | tr -s " " "\n" | sort | uniq -d

  6. #./run
  7. 11
  8. 77
复制代码


刚才查了下,呵呵

sort不会用,同一行怎么排啊??……就又加了个tr......

还望寂寞烈火兄多指点。
回复 支持 反对

使用道具 举报

发表于 2006-11-25 02:34:42 | 显示全部楼层
Post by dunerunner
  1. aa=(11 33 55 77)
  2. bb=(11 22 44 66 77)
  3. cc=(11 88 99 77)

  4. all="${aa[*]} ${bb[*]} ${cc[*]}"
  5. echo $all | tr -s " " "\n" | sort | uniq -d

  6. #./run
  7. 11
  8. 77
复制代码


刚才查了下,呵呵

sort不会用,同一行怎么排啊??……就又加了个tr......

还望寂寞烈火兄多指点。

测试:
/home/lee#eval aa=(11 33 55 77)
/home/lee#bb=(11 22 44 66 77)
/home/lee#cc=(11 88 99 77)
/home/lee#echo ${aa[@]} ${bb[@]} ${cc[@]}|tr ' ' '\n'|sort|uniq -d
11
77

用for亦可,但是前提,数组别太~~多,否则的话,嘿嘿嘿
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表