我有一个包含五列的文件,格式如下:
1 213 1 545 0.0988697879 0.9084867680
像这样的有300行。我想从一行的第四列和第五列中获取值并执行数学运算,然后保存结果,并对所有 300 行重复该过程。
到目前为止,我发现的最接近解决方案的是使用以下命令构建数组
while IFS= read -a line; do printf "Line number %d:\n" $i; printf "%s\n" "${line[@]}"; let i++; done < "workfile.txt""
有哪些更好的方法可以解决这个问题?
答案1
可以使用 awk 操作字段,更多信息这里。以下单行代码将第 4 个和第 5 个字段相加,并将结果保存在输出文件中:
awk '{print $4 + $5}' input.file > output.file