Chinaunix首页 | 论坛 | 博客
  • 博客访问: 238036
  • 博文数量: 68
  • 博客积分: 2802
  • 博客等级: 少校
  • 技术积分: 614
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-11 15:38
文章存档

2013年(3)

2012年(15)

2011年(21)

2010年(29)

我的朋友

分类:

2010-04-03 20:57:03

#! /usr/bin/sh -
#现有两个数组a,b a的内容为:a b c d e   b的内容为:a f c g w e 问题: 1,比较两个数组中都存在的元素? 2,找出a中有而b中没有的?

#####################################
ksh处理脚本如下:
#!/bin/ksh
#
#
set -A arg1 a b c d e
set -A arg2 a f c g w e

for i in ${arg1};do
        for j in ${arg2};do
        echo $i $j
        done
done>a$$
echo "两个数组相同的元素是:"
same=$(awk '$1==$2 {print $1}' a$$)
echo $same
diff=$(awk '$1 != $2 {print $1}' a$$|uniq -d )
echo "数组a中存在而数组b中不存在的元素是:"
echo $same $diff|tr ' ' '\n'|sort|uniq -u|tr '\n' ' '
echo "\n"
rm a$$
###########################################################
用python编写的脚本:
#!/usr/bin/env python
a=('a', 'b', 'c', 'd', 'e')
b=('a', 'f', 'c', 'g', 'w', 'e')
print 'a:', a
print 'b:', b
print '两个数组相同的元素是:'
for i in filter(lambda x: x in a, b):
    print i,
print
print '数组a中存在而数组b中不存在的元素是:'
for i in filter(lambda x: x not in b, a):
    print i,
print
阅读(511) | 评论(0) | 转发(0) |
0

上一篇:简单易懂的awk教程

下一篇:20100406

给主人留下些什么吧!~~