我必須運行UNIX腳本被多次用於不同日期的要求。腳本應該先執行2017-01-01,然後執行2017-02-01等。我們正在每月檢查數據。請有人可以幫我解決這個問題。謝謝。的Unix循環的日期
回答
您可以使用for
循環迭代,在一般。您可以生成個月的序列與{01..12}
或seq -w 1 12
,如下:
for date in 2017-{01..12}-01; do
echo Processing data for $date
# Use $date in some way
done
或
for month in $(seq -w 1 12); do
date=2017-$month-01
echo Processing data for $date
# use $date in some way
done
第一個將在猛砸工作,zsh的,和許多其他炮彈,但我不認爲保證爲他們中的任何人工作;第二個應該適用於任何類型的殼體。
謝謝。有沒有辦法爲兩個日期運行腳本。例如,首先我需要運行該腳本查找所有1月1日和1月31之間的記錄,那麼我需要找到Feb1st和2月28日等之間的記錄。我認爲這是我們需要做的更多的理解要求。有沒有辦法在兩個日期之間循環腳本? – NewToUnix
這更復雜,因爲你需要處理幾個月的不同長度。外殼沒有日期的固有概念,所以無論你需要用不同的語言來編寫程序來生成日期列表,你需要爲每個月份是多長時間查找表(取請考慮閏年!),或者如果給出諸如'2017-04-31'或'2017-02-29'之類的無效日期,則需要讓腳本優雅地失敗。改變輸入要求可能會更容易。 –
這是我想要實現的。而不是複製多個日期的步驟,有沒有辦法把一個循環下面的邏輯,睡眠之間: '#!/ bin/bash '2017-03-01' 在「2017年3月31日」 的文件1 回聲$文件 做 回聲$文件1 #run工作與$文件$文件1 回聲「作業已完成」 做 做了文件 睡眠10S 在「2017- 04-01' 做 回聲$文件 的文件1在‘2017年4月30日’ 做 Ë $ file1 #運行$ file $ file1 echo「完成任務」 完成 完成「 – NewToUnix
- 1. 日期的循環
- 2. 循環除日期以外的日期
- 3. Unix while循環
- 4. 通過關節手術在hp unix中循環日期
- 5. 在選定的日期期間的循環日期和時間
- 6. Unix的循環變量
- 7. 的Unix shell - 讀循環
- 8. Lua日期操作循環
- 9. 循環驗證日期VB
- 10. 循環日期與R
- 11. 循環播放日期
- 12. 循環槽日期vb.net
- 13. 循環日期範圍
- 14. php日期計算循環?
- 15. 循環顯示日期angularjs
- 16. PHP根據日期循環
- 17. 循環插入日期Android
- 18. java arraylist循環槽日期
- 19. 循環找到MySQL中的日期
- 20. 循環日期的表格設計
- 21. 通過日期的T-SQL循環
- 22. 循環通過group_上的日期由
- 23. Javascript日期範圍之間的循環
- 24. For循環涉及的日期範圍
- 25. 本月php的循環日期
- 26. 具有多個日期的SAS循環
- 27. 循環中日期的T-SQL驗證?
- 28. 計算循環中的日期差異
- 29. 嵌套for循環的日期差異
- 30. PHP:for循環和生日日期
這是'cron'實用程序是什麼(或者,如果你使用的是Linux,systemd定時器單元的某些版本)。 –
謝謝。我不是在尋找預定的執行。但是,如果我現在運行腳本,則需要在1月1日,2月1日,3月1日至5月1日執行腳本。輸入值應該是每個月的第一天。 – NewToUnix
哦,我想我明白了。 –