0

1 列で複数行のファイルがあります。

どの行が一定の差を持ち始めると予想されるかを確認するために、各行を互いに減算したいと思います。

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

行にフロートが含まれている場合は、bcPerl などのスクリプト言語を使用するか、それに切り替えてください。

于 2013-02-02T13:29:40.403 に答える