当前位置:Linux教程 - Shell - shell - 合并两个文件

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