當你有awk
,就可以計算出與
LASTRESETDATE="12/15/16"
endd="$(date '+%m/%d/%y')"
awk -v startdate="${LASTRESETDATE}" -v enddate="${endd}" 'BEGIN {
split(startdate,A,"[/]");
T1=mktime(A[3] " " A[1] " " A[2] " 12 0 0");
split(enddate,B,"[/]");
T2=mktime(B[3] " " B[1] " " B[2] " 12 0 0");
diffdays=(T2-T1)/(3600*24)
printf("%s\n",diffdays);
}'
的區別。當你需要這個時候,和你沒有(正確版本)awk中,你可以做一個lookup-另一個系統上的表。 隨着awk
:
startd="12/15/16"
endd="$(date '+%m/%d/%y')"
awk -v startdate="${startd}" -v enddate="${endd}" 'BEGIN {
split(startdate,A,"[/]");
T1=mktime(A[3] " " A[1] " " A[2] " 12 0 0");
split(enddate,B,"[/]");
T2=mktime(B[3] " " B[1] " " B[2] " 12 0 0");
linenr=1;
while (T1 < T2) {
printf("%d %s\n",linenr++, strftime("%m/%d/%y",T1));
T1+=3600*24;
}
}'
當然你可以用Excel或其他工具的列表。
編輯:刪除var,我只使用原型解決方案。
**編輯**:由於您被hp-ux卡住(而且您可能在公司環境中**您無法安裝GNU工具),您必須自行編寫代碼函數將日期轉換爲可操作的值。我的答案在stackoverflow.com/questions/8606520/converting-dates-in-shel l/...是解決方案的一部分。搜索'[linux] awk date math'(以及其他類似的搜索目標)來查找更完整的解決方案。祝你好運。 – shellter