我有一个巨大的文件,我将大文件分成几个小块并分而治之。现在我有一个文件夹包含如下文件列表:
output_aa #(the output file done: cat input_aa | python parse.py > output_aa)
output_ab
output_ac
output_ad
...
我想知道有没有办法将这些文件合并在一起按照索引顺序:
我知道我可以使用
来做到这一点cat * > output.all
但我更好奇另一个神奇的命令已经存在与分裂..
答案 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答案中的评论以获取具体细节))