#!/bin/bash
echo "hi"
path="/home/alert/VideoApplicationAPI.v1/logs"
dayDiff=365
DATE=`date +%Y-%m-%d`
for filename in $path/*.*; do
modDate=$(stat -c %y "$filename")
#modDate=$(date -r "$filename"+%s)
modDate=${modDate%% *}
echo $filename:$modDate
#lastUpdate=$(stat -c %y "$filename")
now="$(date +%s)"
diff="${now}-${lastUpdate}"
done
echo $DATE
ベストアンサー1
配信に近いこの問題。そのスクリプトをフォーマットに合わせて調整すると、次のコマンドセットが提供されます。
echo "$(( $(date -d "$d2" +%s) - $(date -d "$d1" +%s) )) / 86400" | bc -l
ここで、$ d1はより小さい(以前の)日付であり、$ d2はより大きい(以降)日付です。
したがって、私が知っている限り、次の方法が必要です。
echo "$(( $(date -d "$modDate" +%s) - $(date -d "$now" +%s) )) / 86400" | bc -l
言う、
bc -l
マニュアルページによると、
...任意の精度数値をサポートし、インタラクティブにステートメントを実行する言語です。構文はCプログラミング言語といくつか似ています。
ほとんどのシェルは整数除算のみをサポートしているため、答えから10進数を取得できます。