我有一个包含一列和多行的文件。
我想从彼此中减去每一行,以便检查我期望开始具有恒定差异的哪一行。
i.e
line1-line2
line2-line3
line3-line4
etc.
答案 0 :(得分:1)
您可以使用awk
执行此操作:
awk 'NR>1 {print prev - $1} {prev=$1}' <input_file>
这样,动作{print prev - $1}
仅针对第一行之后的行执行,而动作{prev=$1}
则针对每一行执行,但是在评估了第一个模式并且是相应的动作之后,以防万一。
答案 1 :(得分:0)
使用while循环。请记住最后一行:
previous=0
while read n ; do
if ((previous)) ; then
echo $((previous-n))
fi
previous=$n
done
如果您的行包含浮点数,请使用bc
或切换到某些脚本语言,例如Perl。