位置: 编程技术 - 正文
推荐整理分享shell通过遍历输出两个日期范围内所有日期的方法(shell遍历sql查询结果),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:shell 遍历列表,shell遍历文件名,shell遍历文件名,shell遍历sql查询结果,shell for遍历文件,shell的foreach遍历,shell遍历sql查询结果,shell for遍历文件,内容如对您有帮助,希望把文章链接给更多的朋友!
前言
在平常c/c++开发中经常遇到日期处理的情形,例如求两个给定的日期之间相差的天数或者需要使用map存储两个固定日期范围内的所有日期。前段时间项目中需要用shell脚本批量处理给定的两个日期范围内所有日期产生的日志,当时以为shell处理不方便就用c++来处理了。后面用shell实现了下,发现也挺简单的。
一、思路流程
1、显然不能直接把这两个日期当作整数相减得到差值然后把初始日期不断累加1得到所有的日期,而且要考虑大小月的问题。
2、为了以后开发的方便,需要把这个求两个固定上期范围内的所有日期功能封装在一个函数(即下面脚本中的genAlldate)中。
但是shell的function不能像C/C++那样能return一个数据类型,也没有引用或者指针的功能,所以在需要先声明一个数组变量DATE_ARRAY用于存放计算出来的所有日期,然后在函数遍历中直接写入每个日期数据。
3、最后使用了3种方法来遍历输出数组DATE_ARRAY存放的所有日期。
4、输出的日期格式尽量能够自定义,例如--、..和等等。
二、shell程序
三、测试
该shell脚本支持的输入日期格式为--和这两种,输出的日期格式格式很灵活,只要在执行程序时再追加一个任意日期分隔符(例如常见的.、-等)即可,最后由脚本中的SPLITER变量做输出格式控制。
这里使用./alldateduringtwodays1.sh -- -- .进行测试,效果如下图所示。
四、脚本管理
目前已经把这个脚本放在Github了,地址是
利用Shell 脚本解决DDOS攻击问题 思路:主要利用awk,if结构,sort,uniq#!/bin/bashFilePath="access.log"awk'{print$1}'$FilePath|sort-rn|uniq-cip_count.logcatip_count.log|whilereadtext####读取文件内容,以行为单位
Shell脚本经典之Fork炸弹的分析与预防 fork炸弹介绍众所周知,bash是一款极其强大的shell,提供了强大的交互与编程功能。这样的一款shell中自然不会缺少函数这个元素来帮助程序进行模块化
shell脚本实现多进程运行的方法示例 本文主要跟大家分享了shell脚本实现多进程运行的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:例子foripin...{1..}do(ping$ip-c4
标签: shell遍历sql查询结果
本文链接地址:https://www.jiuchutong.com/biancheng/378207.html 转载请保留说明!友情链接: 武汉网站建设