我有一个看起来像这样的文件:
1 4
2 4
3 5
4 4
5 4
6 1
7 1
8 1
9 4
10 4
12 1
13 1
14 1
15 1
16 2
19 3
20 1
21 1
26 1
28 3
24 4
29 4
30 1
第 1 列是序列号,第 2 列是值。我想计算特定范围之间的值之和,例如:将 column2 中介于 2 和 7 之间的值相加(来自 column1)
我通过以下 awk one liner 实现了这一点:
awk '{if ($1 >= 2 && $1 <= 7) x += $2 } END {print x}' file_name #output is 20
问题是我想从其他文件 2 中读取范围:从 3-9、2-6、12-20 等
3 9
2 6
12 20
我如何将 file2 的范围传递给 AWK,而不是使用 if 语句手动输入范围。如何在 AWK 中读取多个文件?