Bash:从一个文件中读取一列,并在当前文件中除以一列



我想使用 bash 从一个文件中读取一列,并在当前文件中除以一列并替换该列。

例如,我有一个名为input的文件.txt

1 2 3
1 4 3
1 8 3

我想读取文件的第二列并与当前文件的第三列除aim_file.txt:

1 1 4
3 4 8
8 8 16

所以我得到了结果.txt:

1 1 2
3 4 2
8 8 2

使用 awk 你可以做到:

awk 'NR==FNR{a[FNR]=$2; next} a[FNR]{$3 /= a[FNR]} 1' input.txt aim_file.txt

输出:

1 1 2
3 4 2
8 8 2
  • 我们首先迭代input.txt,并通过 line# 的索引将第二列存储在关联数组中
  • 接下来,在迭代aim_file.txt我们将第 3 列与存储在数组中的值除以

相关内容

最新更新