与Linux Split相反

时间:2013-08-22 15:04:04

标签: shell split

我有一个巨大的文件,我将大文件分成几个小块并分而治之。现在我有一个文件夹包含如下文件列表:

output_aa #(the output file done: cat input_aa | python parse.py > output_aa)
output_ab
output_ac
output_ad
...

我想知道有没有办法将这些文件合并在一起按照索引顺序:

我知道我可以使用

来做到这一点
cat * > output.all 

但我更好奇另一个神奇的命令已经存在与分裂..

2 个答案:

答案 0 :(得分:13)

魔术命令是:

cat output_* > output.all

没有必要对文件名进行排序,因为shell已经这样做了(*)。

顾名思义,cat原创设计正是为了使文件基本上与split相反。

(*)编辑:

您是否应该使用({1}}订单 a-z时使用整理订单的(假设?)区域设置,以下是解决此问题的一种方法:< / p>

abcdefghijklmnopqrstuvwxyz

答案 1 :(得分:1)

还有其他方法可以将文件连接在一起,但没有神奇的&#34;反对分割&#34;在&#34; linux&#34;。

当然,谈论&#34; linux&#34;一般来说有点牵强,因为许多发行版都有不同的工具(默认情况下大多数都使用不同的shell,比如sh,bash,csh,zsh,ksh,......),但如果你正在谈论关于至少基于debian的linux,我不知道任何可以提供这种工具的发行版。


对于排序,你可以使用linux命令&#34; sort&#34; ;

另请注意使用&#34;&gt;&#34;重定向stdout将覆盖可能的现有内容,而&#34;&gt;&gt;&#34;将连接到现有文件。


我不想复制,但仍然要完成这个答案,所以当然也应该考虑jlliagre关于cat命令的说法(&#34; cat&#34;是#34; cat&#34;文件,实际上可以反转拆分命令 - 但这只是为你提供了相同的文件排序,所以它不是完全 &#34;与split&#34;相反,但在接近100%的案例中会以这种方式工作(请参阅jlliagre答案中的评论以获取具体细节))