我需要一个gawk
脚本(不是单行脚本,我需要一个函数)。给定一行整数,即
0 2 4 1 9 5 1 1
该函数应生成连续的前向绝对差,因此:
0 2 4 1 9 5 1 1
2 2 3 8 4 4 0
0 1 5 4 0 4
1 4 1 4 4
3 3 3 0
0 0 3
0 3
3
我该如何使用 来做到这一点gawk
?
答案1
这里是
#!/usr/local/bin/awk -f
{
ns = 0
while(NF > 0) {
for(i = 0; i < ns; i++) printf " "
print
for(i = 1; i < NF; i++) {
$i = abs($i-$(i+1))
}
NF--
ns++
}
}
function abs(x) { return x < 0 ? -x : x }