我在不同的目录(3 个不同的名称)中有很多(3 个只是一个例子)文本文件,如下所示:
目录:A、文件名:run.txt 格式:txt 制表符分隔
; file one
10 0.2 0.5 0.3
20 0.1 0.6 0.8
30 0.2 0.1 0.1
40 0.1 0.5 0.3
目录:B,文件名:run.txt 格式:txt 制表符分隔
; file two
10 0.2 0.1 0.2
30 0.1 0.6 0.8
50 0.2 0.1 0.1
70 0.3 0.4 0.4
目录:C,文件名:run.txt 格式:txt 制表符分隔
; file three
10 0.3 0.3 0.3
20 0.3 0.6 0.8
30 0.1 0.1 0.1
40 0.2 0.2 0.3
我想将所有三个 run.txt 文件合并为一个并重新编号第一列。生成的新文件将如下所示:
; file combined
10 0.2 0.5 0.3
20 0.1 0.6 0.8
30 0.2 0.1 0.1
40 0.1 0.5 0.3
50 0.2 0.1 0.2
70 0.1 0.6 0.8
90 0.2 0.1 0.1
110 0.3 0.4 0.4
120 0.3 0.3 0.3
130 0.3 0.6 0.8
140 0.1 0.1 0.1
150 0.2 0.2 0.3
这就是我的代码所在:
cat A/run.txt B/run.txt C/run.txt > combined.txt
(1) 我不知道如何按第一列重新编号
(2) 我也不怎么处理以“;”开头的评论
编辑:
让我明确一下编号方案:A/run.txt、B/run.txt 和 C/run.txt 实际上是并行运行合并为一个。因此每个都将存储带有运行编号的样本。但是,运行之间的差距可能是不均匀的。
(1) 对于第一个文件 A/run.txt (gap is 10, 20-10, 30-20)
10, 10+10, 20+10, 30+10
(2) 对于第二个文件 B/run.txt,从 10 开始,但间隔为 20(例如 30-10、50-70、70-50)
40 (from last line of the first file) + 10 (first in file two) = 50,
50 + 20 = 70,70 + 20 = 90, 90+ 20 = 110
(3) 文件 C/run.txt 从 10 开始,增量为 10
110 (last number in file 2) + 10 = 120, 120+ 10 = 130,
130+10 = 140, 140+10 = 150`