Shell小知识date和seq

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

[root@iZ28vzyqqtfZ ~]# seq 3
1
2
3
[root@iZ28vzyqqtfZ ~]# 

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

[root@iZ28vzyqqtfZ ~]# seq -s " " 10 15
10 11 12 13 14 15
[root@iZ28vzyqqtfZ ~]#

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

[root@iZ28vzyqqtfZ ~]# for i in `seq -s " " 10 15`; do echo $i; done
10
11
12
13
14
15
[root@iZ28vzyqqtfZ ~]# 

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

[root@iZ28vzyqqtfZ ~]# date +%s
1449216083
[root@iZ28vzyqqtfZ ~]# 

格式化显示时间字符串

[root@iZ28vzyqqtfZ ~]# date "+%Y-%m-%d %H:%M:%S"
2015-12-04 16:02:19
[root@iZ28vzyqqtfZ ~]#

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

[root@iZ28vzyqqtfZ ~]# date -d "2015-12-04 16:02:19" +%s
1449216139
[root@iZ28vzyqqtfZ ~]#

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

[root@iZ28vzyqqtfZ ~]# date -d @1449216139 "+%Y-%m-%d %H:%M:%S"
2015-12-04 16:02:19
[root@iZ28vzyqqtfZ ~]#

文章出处:Shell小知识date和seq

发表评论:

你的电子邮件地址将不会被公开.

5 + = 13