다음과 같은 로그 파일이 있습니다.
2019.09.02 06:40:28 ---
2019.09.02 06:43:34 ---
2019.09.02 06:43:41 ---
파일을 읽고 날짜 시간 " 2019.09.02 06:43:34 "-및- " 2019.09.02 06:40:28 "(시간 분 및 초) 간의 차이를 가져와야 합니다.
while read date time message
do
if [[ $date = $searched_date* ]] && [[ $message = *$searched_message* ]] ; then
#how to convert $date and $time to unixtime?
fi
done <"$LOG_FILE"
나는 AIX 7을 사용하고 있으며 date -d
.
ksh93 printf
은 입력 형식을 이해하므로 다음을 사용할 수 있습니다.
end=$(printf '%(%s)T' "2019.09.02 06:43:34")
start=$(printf '%(%s)T' "2019.09.02 06:40:28")
printf '%d\n' "$((1567421014-1567420828))"
또는 더 일반적으로 :
seconds=$(printf '%(%s)T' "$date $time")
초 단위의 차이를 hh : mm : ss로 변환하려면 다음을 수행하십시오.
printf '%d hours, %d minutes, and %d seconds\n' "$((diff / 3600))" "$(( (diff % 3600) / 60))" "$((diff % 60))"
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다