bash - 如何从顺序值中获取计数
问题描述
我想从 20190930 到 20201006 顺序打印。下面的循环将有助于做到这一点。现在,我想将打印的行数存储到一个变量中?
start=20190930
end=$(date -d"2 days ago" +"%Y%m%d")
while [[ $start -le $end ]]
do
echo $start
start=$(date -d"$start + 1 day" +"%Y%m%d")
done
电流输出:
20190930
20191001
20191002
20191003
20191004
20191005
etc etc...
如果我得到从 20190930 到 20191010 打印的范围,那么我的输出计数应该如下:
10
解决方案
这个解决方案怎么样(未测试):
start=20190930
end=$(date -d"2 days ago" +"%Y%m%d")
i=0
while [[ $start -le $end ]]
do
i=$((i+1))
echo $start
start=$(date -d"$start + 1 day" +"%Y%m%d")
done
echo "output count : $i"
推荐阅读
- sql-server - 为每个 SQL Server 女巫 ClickOnce 部署 Microsoft 系统 CLR 类型时出错
- java - 如何将用户函数添加到从 JasperCompilerManager 编译的 jrxml
- django - 查询集只允许我在连接中选择一个表字段
- kotlin - kotlin 多平台到 javascript:不尊重方法的命名
- ruby-on-rails - 如果记录以前不存在,update_attribute 在 first_or_create 之后不做任何事情
- angular - Visual Studio 在构建过程中截断我的 HTML 文本
- python - UTF-8 解码 ANSI 编码文件会引发错误
- ios - Microsoft for Xamarin Forms 的 active-directory-xamarin-native-v2 示例项目在 iOS 中不起作用
- javascript - 如何在带有字符串对象的 parseJson 函数中使用变量?
- c - I2C从主到从通信问题