|
文件A和文件B分别存放着两组数,现要求出两组数的交集。
文件格式是每个数字占一行。
如,文件A为: 文件B为:
12 23
23 32
45 56
56
则交集应该为:
23
56
- #######################################
- # author:hjack
- # Date:2006.7.16
- # function:找两个文件中数的交集
- # usage:intersection file1 file2
- # History:
- #######################################
- usage(){
- echo "Usage:$0 file1 file2"
- exit 1;
- }
- testInput(){
- REQUESTARG=2
- if [ $# -ne $REQUESTARG ]; then
- Usage "$@"
- fi
- }
- getIntersection(){
- seed=`date +%s`
- sort $1 -un > /tmp/$1.$seed
- sort $2 -un > /tmp/$2.$seed
- diff /tmp/$1.$seed /tmp/$2.$seed | grep ^\< | awk '{print $2}' > /tmp/$1.$seed.only
- diff /tmp/$1.$seed /tmp/$1.$seed.only | grep ^\< | awk '{print $2}'
- }
- main(){
- testInput "$@"
- getIntersection "$@"
- }
- main "$@"
复制代码
迟点再补上程序的解释。 |
|