我有一個批處理腳本,它運行如下所示./test.sh -d 2013-03-25;這裏的日期是用戶輸入;但我需要的是將日期列表傳遞給此批處理腳本;我從2013年1月1日至2013年3月25日有25個連續日期;我怎樣才能將每個日期動態地傳遞給這個批處理文件。將日期列表傳遞給linux中的批處理文件
任何幫助將不勝感激
我有一個批處理腳本,它運行如下所示./test.sh -d 2013-03-25;這裏的日期是用戶輸入;但我需要的是將日期列表傳遞給此批處理腳本;我從2013年1月1日至2013年3月25日有25個連續日期;我怎樣才能將每個日期動態地傳遞給這個批處理文件。將日期列表傳遞給linux中的批處理文件
任何幫助將不勝感激
一種方法是將日期存儲在數組中。這可以從shell腳本中很好地工作。
dates=(2013-03-01 2013-03-02 etc...)
for date in "${dates[@]}"; do
./test.sh -d "$date"
done
另一種方法是將日期存儲在文本文件中,每行一個。如果你這樣做,那麼你可以在通過他們像這樣:
xargs -a dates.txt -d '\n' ./test.sh
或者,看到日期是連續的,在同一個月,您可以以編程方式通過他們循環。
for day in 00..25; do
./test.sh -d "2013-03-$day"
done
for ((day = 1; day <= 25; ++day)); do
./test.sh -d "2013-03-$(printf '%02d' "$day")"
done
謝謝約翰,真的很有幫助 – user1570210 2013-03-25 17:02:16
如果把我說的範圍放在2013-03-01&2013-03-25之間,我該怎麼做? – user1570210 2013-03-25 17:29:09
@ user1570210請參閱我編輯中的最後一個循環。這應該很容易適應。 – 2013-03-25 17:55:57
如果放一個範圍就像我說我想在2013-03-01&2013-03-25之間跑,我該怎麼做? – user1570210 2013-03-25 17:31:28