您的位置:首页 > 文档 > Shell >
 文章分类 

合并两个文件


创建:2005-10-26 00:49:46
作者:Unlinux
来自: http://www.Unlinux.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

转载自:http://www.unlinux.com/doc/shell/20051026/271.html

评论】 【加入收藏夹】 【 】 【打印】 【关闭
 *  请尊重我们的劳动,转载请注明出自UnLinux.Com及作者名 * 

※ 相关链接
 ·用awk合并行  (2005-10-26 00:49:43)

Copyright © 2005 UnLinux.Com All Rights Reserved