我有关于awk的以下问题。我有一个包含一些列的文件,比如
1 5 2
6 1 8
7 9 9
我想计算每列的最后一个元素和第一个元素之间的差异:7-1=6
,9-5=4
,9-2=7
。结果应该打印在另一个文件中,例如
6
4
7
感谢您的帮助! 斯蒂芬
答案 0 :(得分:0)
以下是如何做到这一点:
您创建一个迭代第一行的每个元素的数组,然后在END块中再次迭代,使用数组中的值减去该列。
awk '
NR==1 {
for (i=1; i<=NF; i++)
a[i] = $i
}
END {
for (i=1; i<=NF; i++)
print $i - a[i] > ("another.file")
}
' file
$ cat another.file
6
4
7