我有两个文本文件,内容如下;
data_1:473428800.0 0 0.000004 1.00 WETZTROPMCIL #4 columns, several lines
473429100.0 0 0.000002 1.00 WETZTROPMCIL
data_2:473428800.0 0 2.100000 1.00 DRYTROPMCIL #4 columns, several lines
473429100.0 0 2.200000 1.00 DRYTROPMCIL
我需要将一个文件第 3 列的每一行添加到另一个文件中第 3 列的相应行,并将这些总和替换为新文件中 data_1 的第 3 列,如下所示;
merged_data= data_1:473428800.0 0 2.1000004 1.00 WETZTROPMCIL #4 columns, several lines
473429100.0 0 2.2000002 1.00 WETZTROPMCIL
尝试:
笔记:
我看到每个文件有 5 个字段,而不是 OP 中所述的 4 个字段。
paste
将合并两个文件中的行。awk
将看到每行有 10 个字段。NF=5
告诉它只保留前 5 个,它们来自data_1
.浮点数以
[s]printf
' 格式打印%.10f
。这可能会也可能不会。见man 3 printf
。如果需要排序,可以通过进程替换来完成:
Matei 的方法应该保证行的顺序相同。因此,以下方式会更安全。