0
我有一列和許多行的文件。如何在shell腳本中從line3等中的line2中刪除line1中的數據?
我想從彼此中減去每一行,以檢查哪一行我預計開始有一個常數的差異。
i.e
line1-line2
line2-line3
line3-line4
etc.
我有一列和許多行的文件。如何在shell腳本中從line3等中的line2中刪除line1中的數據?
我想從彼此中減去每一行,以檢查哪一行我預計開始有一個常數的差異。
i.e
line1-line2
line2-line3
line3-line4
etc.
使用while循環。還記得最後一行寫着:
previous=0
while read n ; do
if ((previous)) ; then
echo $((previous-n))
fi
previous=$n
done
如果你的行包含花車,使用bc
或切換到一些腳本語言如Perl。
您可以使用awk
這樣做:
awk 'NR>1 {print prev - $1} {prev=$1}' <input_file>
這種方式,而動作{prev=$1}
爲每個行執行的操作{print prev - $1}
只對後的第一個行執行,但第一個模式之後已經被評估並且是相應的行動,以防執行。
* line1-line2 *! :'{print prev - $ 1}'!? –
你是對的!我正在編輯它來糾正 –
謝謝你的更正。 @ F.Hauri –