+ -
当前位置:首页 → 问答吧 → linux下,想合并多个有序文件为一个有序文件,有什么命令可以达到这个功能?

linux下,想合并多个有序文件为一个有序文件,有什么命令可以达到这个功能?

时间:2008-09-22

来源:互联网

sort有和个-m选项,但发现不管用

作者: wxbfly   发布时间: 2008-09-22

cat xx* >newfile

作者: linzhangs   发布时间: 2008-09-22

cat 1 >newfile;cat 2>>newfile

作者: jinxl560   发布时间: 2008-09-22

呵呵,可能两位没能理解我的意思

比如两个文件a和b
a的内容如下:
1
3
5
a的内容如下:
2
4
6

合并后为:
1
2
3
4
5
6

不是简单的一cat就搞定的

作者: wxbfly   发布时间: 2008-09-23

$ cat a
1
3
5
$ cat b
2
4
6

$ sort a b > c
$ cat c
1
2
3
4
5
6

作者: blackbillow   发布时间: 2008-09-23

楼上正解
sort不会用的话man一下看看
不过其实好多选项用不到
输出重定向就好

作者: jy00923702   发布时间: 2008-09-23

我晕,看来我没说清楚我的意思

sort a b > c

我当然知道,但这里就利用不上a和b已经排序的事实。如果a和b都是大于1G的文件,排到何时才能了结?
但如果sort已经知道a是排好序的,b也是排好序的,那么此时就是有序文件的合并,肯定要比两个都重排序快得多

作者: wxbfly   发布时间: 2008-09-24

up

作者: wxbfly   发布时间: 2008-09-27

归并排序

作者: wuqiyuanqiqi   发布时间: 2011-09-03

4楼正解

作者: xinhua0910   发布时间: 2011-09-03