shell按月循环取数
2023-09-14 08:57:20 时间
这里有个需求,按月查询,并且要输出每月的开始日期,结束日期。
shell脚本如下:
#!/bin/sh echo "0个参数时, 按月执行,默认当前月份 " echo "1个参数时, 按月执行,输入月份格式:2019-02" echo "2个参数时, 按月执行,输入月份格式:2019-01 2019-02" if [ $# = 1 ]; then start_month=$1 end_month=$1 elif [ $# = 2 ]; then start_month=$1 end_month=$2 elif [ $# = 0 ]; then start_month=`date +%Y-%m` end_month=`date +%Y-%m` fi start_sec=`date -d "${start_month}-01" +%s` end_sec=`date -d "${end_month}-01" +%s` while [ $start_sec -le $end_sec ]; do day_curr=`date -d @$start_sec +%Y-%m-%d` month_curr=`date -d @$start_sec +%Y-%m` start_date=`date -d"${month_curr}-01" "+%Y-%m-01"` #月份开始日期 tmp_dt=`date -d"${month_curr}-01 +1 months" "+%Y-%m-01"` end_date=`date -d "${tmp_dt} -1 day" "+%Y-%m-%d"` #月份结束日期 echo $month_curr $start_date $end_date ## 这里放要处理的过程 ## 123456 ## 一次结束重置月份 let start_sec=`date -d "${month_curr}-01 +1 months" +%s` done
默认,不输入参数时,执行结果:
输入指定月份参数时:
输入区间月份时:
这样就完美了。
相关文章
- 11. shell循环 for
- linux shell 循环处理文件夹每个文件
- Shell循环遍历日期「建议收藏」
- Android中的shell循环命令
- python 流程、循环、异常、函数的高级用法(3.0)
- JavaScript 事件循环
- Haproxy事件循环
- Python基础学习之循环
- 事件循环机制(Event Loop)
- 正在进入尴尬循环的哪吒汽车
- Scala 【 3 循环、函数和参数 】
- 【汇编实战开发笔记】从汇编代码中找出一段普通的for循环变成“死循环”的根本原因(RT-Thread技术论坛优秀文章)
- shell–2–shell变量 定义变量 使用变量 只读变量 删除变量 变量类型 Shell字符串 shell函数详解程序员
- SHELL – shell 脚本获取本机ip并将ip复制给变量待用详解程序员
- Linux 查看 Shell 版本的方法(linux查看shell版本)
- MySQL循环技术:快速实现任务繁琐而简单(mysql循环)
- C++ for循环详解
- shell用Linux写Shell脚本:有趣又实用(linuxwrite)
- 示例利用Oracle For循环实现简单示例(oraclefor循环)
- 连接数据库Shell使用MySQL连接数据库的简单方法(shell通过mysql)
- Linux下的循环控制:跳出枯燥的编程(linux循环语句)
- Linux 命令行与 Shell 脚本编程宝典(linux命令行和shell脚本编程宝典)
- shell循环
- 精通Linux:深入探讨循环语句的实现方法(linux中的循环)
- mssql注入漏洞利用:黑客获取Shell权限(mssql注入shell)
- 脚本快速学习执行Linux Shell脚本的技巧(linux 执行shell)
- Oracle中用For循环遍历数组的实现方式(oracle中遍历数组)
- MySQL的命令行工具MySQL Shell介绍(mysql_shell)
- 使用Shell脚本彻底清理Redis缓存(shell清理redis)
- C语言循环队列的表示与实现实例详解
- MySQL存储过程中游标循环的跳出和继续操作示例
- js使用for循环与innerHTML获取选中tr下td值