0

我有一个包含一列多行的文件。

我想将每一行相互减去,以检查我期望哪一行开始具有恒定差异。

i.e
line1-line2
line2-line3
line3-line4
etc.  
4

2 回答 2

1

您可以awk这样做:

awk 'NR>1 {print prev - $1} {prev=$1}' <input_file>

这样,动作{print prev - $1}只对第一行之后的行执行,而动作{prev=$1}对每一行执行,但在第一个模式被评估并且是相应的动作之后,以防万一,执行。

于 2013-02-02T13:42:19.647 回答
0

使用 while 循环。记住最后一行:

previous=0
while read n ; do
    if ((previous)) ; then
        echo $((previous-n))
    fi
    previous=$n
done

如果您的行包含浮点数,请使用bc或切换到某种脚本语言,例如 Perl。

于 2013-02-02T13:29:40.403 回答