linux - 将日期列表传递给 linux 中的批处理文件

标签 linux unix batch-file

我有一个运行类似这样的批处理脚本 ./test.sh -d 2013-03-25 ;这里的日期是用户输入;但我需要的是将日期列表传递给这个批处理脚本;我有 25 个连续日期,从 03/01/2013 到 03/25/2013;我怎样才能将每个日期动态传递给这个批处理可执行文件。

任何帮助将不胜感激

最佳答案

一种方法是将日期存储在数组中。这在 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

关于linux - 将日期列表传递给 linux 中的批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15618616/

相关文章:

Linux 内核/操作系统源代码文档?

c++ - Qt。将项目从 Linux 移动到 Windows。为什么 Qt creator 返回错误 c1083 can't open directory or file?

linux - Unix返回电话号码,需要格式化

unix - cron 的问题

c - 我可以用什么来等待创建所有线程?

windows - 使用 Windows 注册表删除所有 .svn 和 .project 文件

linux - 如何在 Linux 中使用 vi 命令查看整个文件

python - 使用 cmd 和 Python 在 Cytoscape 中打开网络文件

batch-file - 将参数从jenkins参数化的构建传递到Windows批处理命令

java - 流程执行Java JSsh