我有一個 bash 腳本,它在紀元時間讀取許多日期,并確定它們發生的當天(本地)小時。相關片段:
while read ts
do
hour="$(date -d@$((${ts} / 1000)) %H)"
((hourly_counts["${hour}"] =1))
done < "${jqfile}"
它相當慢,因為它為每次呼叫date. 有沒有明智的方法來解決這個問題?看起來好像date不支持多個查詢。
我能想到的就是生成一個新的 shell,并將date命令通過管道傳遞給它并回傳結果,以便它們都在同一個 shell 中執行。但我不清楚如何做到這一點,而且似乎有點過度設計。
uj5u.com熱心網友回復:
使用printf:
printf -v hour '%(%H)T' "$(( ts / 1000 ))"
鍵入help printf以了解有關命令的更多資訊。
還要檢查strftime(3)。行為可能依賴的價值TZ和LC_TIME。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/403460.html
標籤:
