#! /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
阅读(534) | 评论(0) | 转发(0) |