次の2つの日付がある場合:
2015-09-12,2015-08-13
その間の日数を求めなければなりません。次のコードを使用します。
awk -F'[-,]' '{print 360*($4-$1)+30*($5-$2)+($6-$3)}'
このコードの出力はであり-29
、実際の違いは次のとおりです。29
ベストアンサー1
awk
次のように関数を定義できます。
awk -F'[-,]' '
function abs(v) {return v < 0 ? -v : v}
{print abs(360*($4-$1)+30*($5-$2)+($6-$3))}'
または:
function abs(v) {v += 0; return v < 0 ? -v : v}
戻り値を負と正の標準形式に変換し、文字列は常に数値に変換されます。これがなければabs($0)
入力レコードの位置が1e2
生成され1e2
、 の場合には-1e2
生成されます-100
。