将数据从多个文件重定向到一个主文件

时间:2019-10-05 01:50:13

标签: bash

我有多个数据文件,我想将一些信息从这些文件重定向到另一个主文件。

首先,我在主文件中创建列标题。然后,我尝试将数据从其他文件传输到主文件的正确列下。

在主文件中创建列标题:

awk '
BEGIN {OFS="      "; print "%eval_id", "SF1", "power"}
' > output.dat

主文件中的第一列用于循环索引(1、2、3 ...):

for i in {1..2}; do
    echo "$i" >> output.dat 
done

主文件SF1中的第二列(从sf1.dat中提取数据,后者是一个单列文件)

主文件中的第三列power(从也是单个列文件的power.dat中提取数据)

3列格式的结果:

%eval_id      SF1      power
1             23       300
2             45       650

1 个答案:

答案 0 :(得分:0)

最简单的方法

#!/bin/bash

awk 'BEGIN {OFS="      "; print "%eval_id", "SF1", "power"}' > output.dat
index=0
while IFS= read -r sf1 && IFS= read -r power <&3; do
      index=$(( $index + 1))
      echo -e $index"\t"$sf1"\t"$power >> output.dat

done <sf1.dat 3<power.dat

说明:在循环中读取文件并逐行执行操作。