Shell小知识date和seq

新游戏也上线很长一段时间了,开服平台和自动化更新脚本都能够平稳运行了,什么时候将自动更新加到平台上再说,还要看看这套脚本是否稳定可靠。有了相对空闲的时间就来捣鼓shell,发现了seq和进一步认识了date。
不管是写脚本还是编程经常会用到迭代运算,有时候需要自定义一个序列来控制迭代次数。比如python中的range函数,在shell中也有类似的命令seq,用法举例如下:
默认分隔符为换行符、起始为1

1
2
3
4
5
$ seq 3
1
2
3
$

指定分隔符为空格,起始为10

1
2
3
$ seq -s " " 10 15
10 11 12 13 14 15
$

更多参数可以查看该命令的帮助help或man。
seq在迭代中的使用:

1
2
3
4
5
6
7
8
$ for i in `seq -s " " 10 15`; do echo $i; done
10
11
12
13
14
15
$

在控制台经常会和时间、时间戳交互,有时需要当前时间戳,有时需要格式化时间或时间戳,时间、时间戳的相互转化如下(再也不用上网找转换工具了-_-!!!):
date +%s 可以得到UNIX的时间戳

1
2
3
$ date +%s
1449216083
$

格式化显示时间字符串

1
2
3
$ date "+%Y-%m-%d %H:%M:%S"
2015-12-04 16:02:19
$

将字符串时间转换成时间戳

1
2
3
$ date -d "2015-12-04 16:02:19" +%s
1449216139
$

将时间戳转换成字符串时间

1
2
3
$ date -d @1449216139 "+%Y-%m-%d %H:%M:%S"
2015-12-04 16:02:19
$
----------------本文结束 感谢阅读----------------