把两个文件中相同的行合并成一行

回复 收藏
paste  filename1  filename2

这样就可以实现了。举个例子。
cat  a.txt
1 2 3
4 5 6
a b c

cat b.txt
3 2 1
6 5 4
c b a

则  paste  a.txt  b.txt  结果为
1 2 3   3 2 1
4 5 6   6 5 4
a b c   c b a

如果,你想在两个文件连接处用一个指定的字符连接,还可以用-d来指定
paste -d '+'  a.txt b.txt
结果为
1 2 3+3 2 1
4 5 6+6 5 4
a b c+c b a
2011-12-27 09:30 举报
已邀请:
0

biankm_gz

赞同来自:

点赞!!!
0

loveyouhyf

赞同来自:

0

qqq998492

赞同来自:

0

zch

赞同来自:

学习
0

ecithy

赞同来自:

复习
0

maomao5987370

赞同来自:

很好的命令
0

soul

赞同来自:

合并输出,懂了
0

prospect

赞同来自:

BUG命令来了
0

ckLinux

赞同来自:

0

标哥

赞同来自:

学习了, 但是这并没有真正的合并这两个文件啊?只是显示出来了,文件并没有真正的合并啊。。
0

繁星逐月

赞同来自:

赞一个。
0

左左

赞同来自:

合并输出  。 i_f48.gif

0

TanTan

赞同来自:

棒棒哒

0

LINUX_A - 不要在最能吃苦的年龄选择安逸!

赞同来自:

简单明了,上档次, i_f48.gif

0

c1awn

赞同来自:

也可以用awk

[root@c1awn00 test]#  awk 'NR==FNR {a[FNR]=$0} NR>FNR {print a[FNR],$0}' 1.txt 2.txt

1 2 3  3 2 1 

4 5 6  6 5 4 

a b c c b a 

如果要加+,增加一个"'"+"'"

[root@c1awn00 test]#  awk 'NR==FNR {a[FNR]=$0} NR>FNR {print a[FNR],"'"+"'",$0}' 1.txt 2.txt

1 2 3  + 3 2 1 

4 5 6  + 6 5 4 

a b c + c b a 


回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: