【发布时间】:2019-06-25 16:18:26
【问题描述】:
我有 600 个文件要合并/合并为一个。我已经在 Mac 终端上使用以下命令完成了这项工作:
cat neutral_*.msOut.gz > neutral.msOut
每个文件的格式如下:
// Initial random seed:
1824618124544
// RunInitializeCallbacks():
initializeMutationRate(0);
initializeMutationType(1, 0.5, "f", 0);
initializeGenomicElementType(1, m1, 1);
initializeGenomicElement(g1, 0, 1099999);
initializeRecombinationRate(1e-08);
// Starting run at generation <start>:
1
#WARNING (Subpopulation::ExecuteMethod_outputXSample): outputMSSample() should probably not be called from an early() event in a WF model; the output will reflect state at the beginning of the generation, not the end.
#OUT: 1 SM p3 208
//
segs: 3
positions: 0.0012,0.19383,0.18383
001
110
111
合并这些文件时,我只想在最终合并文件中包含前 15 行(每个文件中相同)一次。使用 Mac 终端如何实现?
【问题讨论】:
-
为什么看似解压的文本文件的名称类似于
*.gz?您是否显示文件的解压缩内容? -
是的,这是正确的
-
注意:我相信我的回答正是您所需要的。如果这是真的,请标记为答案和/或投票,否则请解释您到底需要什么。
-
恕我直言,您在问题中引用的命令:
cat neutral_*.msOut.gz > neutral.msOut生成合并的 二进制压缩 输出文件:neutral.msOut - 应该是可能称为:neutral.msOut.gz。如果你打算生成一个文本文件,它仍然需要解压缩。因此,您需要执行的命令只需将这些压缩文件的所有文本内容加入单个文本文件(不排除前 15 行,如我的回答)需要:cat neutral_*.msOut.gz > neutral.msOut.gz和:gunzip neutral.msOut.gz.
标签: macos unix terminal tail gzip