shell - 合并两个文件
合并两个文件
2004-04-23 15:18 pm来自:Linux文档
现载:Www.8s8s.coM
地址:无名
两个文件a1,b1
内容分别如下:
a1:
1
2
3
b1:
a
b
c
如何把它们合在一起内容如下的:
1 a
2 b
3 c
-----------------------------
paste -d" " a1 a2
SUN的Solaris只能合并12个文件,sco5.5下ksh只能合并6个文件,在aix下ksh没有限制
-----------------------------
请教这两个文件如何合并?
内容分别如下:
a1:
DAD|15.0|
JAB|2.0|
JAH|55.0|
b1:
DAD|773.0|
GGC|2.0|
JAB|224.0|
如何把它们合在一起内容如下的:
DAD 15.0 773.0
GGC 0 2.0
JAB 2.0 224.0
JAH 55.0 0
paste -d"|" a1 b1|awk -F"|" '{print $1,$2,$5}'
楼上的结果不对啊
运行paste -d"|" a1 b1|awk -F"|" '{print $1,$2,$5}'出来结果是
DAD 15.0 773.0
JAB 2.0 2.0
JAH 55.0 224.0
-----------------------------
cat jj.sh
cat a1 b1 |awk -F"|" '{print $1}'|sort|uniq >c1
while read line
do
num1=`grep "$line" a1|awk -F"|" '{print $2}'`
[ -z "$num1" ] && num1=0
num2=`grep "$line" b1|awk -F"|" '{print $2}'`
[ -z "$num2" ] && num2=0
echo $line" "$num1" "$num2
done <c1