- 论坛徽章:
- 0
|
文件按某一字段合并的问题
cat a.sh
#!/bin/sh
if [ $# -ne 2 ];then
echo "Usage0 file1 file2"
exit
fi
- cat $1 $2|awk '{print $2}'|sort|uniq|while read line;do
- num1=`grep "$line" $1|awk '{print $1}'`
- num2=`grep "$line" $2|awk '{print $1}'`
- if [ -z "$num1" ] ;then
- echo $line $num2|awk '{printf "%-20.20s\t%10d\t%10d\n",$1,0,$2}'
- elif [ -z "$num2" ] ;then
- echo $line $num1|awk '{printf "%-20.20s\t%10d\t%10d\n",$1,$2,0}'
- else
- echo $line $num1 $num2|awk '{printf "%-20.20s\t%10d\t%10d\n",$1,$2,$3}'
- fi
- done
复制代码
结果
- [Bossdev]$ sh a.sh 1.txt 2.txt
- 安徽省 0 167
- 北京市 131 207
- 福建省 0 209
- 甘肃省 0 50
- 广东省 78 617
- 广东外语外贸大学 18 0
- 河北省 53 96
- 河南省 83 87
- 黑龙江省 30 50
- 湖北省 34 424
- 湖南省 0 197
- 华南理工大学 29 0
- 吉林省 35 0
- 江苏省 39 504
- 江西省 0 127
- 辽宁省 62 51
- 美国 15 0
- 山东省 98 139
- 山西省 21 0
- 陕西省 21 145
- 上海交通大学 15 0
- 上海市 140 964
- 四川省 32 240
- 天津市 44 0
- 云南省 0 64
- 浙江省 21 304
- 重庆市 0 89
复制代码
就是结果的顺序与楼主的不一致 |
|