gpt4 book ai didi

linux - awk 后续行之间的区别

转载 作者:太空宇宙 更新时间:2023-11-04 09:23:26 26 4
gpt4 key购买 nike

This是一个很好的例子,如果我想打印单列的后续行之间的差异,如何解决这个问题。

awk 'NR>1{print $1-p} {p=$1}' file

但是如果我在文件中有多个(未知)列并且我想要所有列的差异,我该怎么办,例如。 (注意列数不一定是3,可以是10也可以是15或更多)

col1    col2    col3
---- ---- ----
1 3 2
2 4 10
1 9 -3
. . .

输出将是:

col1    col2    col3
---- ---- ----
1 1 8
-1 5 -13
. . .

最佳答案

与其保存第一列,不如保存整行,然后您可以拆分它然后使用循环打印差异:

awk 'NR>1{for(i=1;i<=NF;i++) printf "%d ", $i - a[i] ; print ""}
{p=split($0, a)}' file

如果您需要列标题,则可以使用 BEGIN 打印它。

关于linux - awk 后续行之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39379999/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com