我要拿/home/deploy/releases/20120821203354
并返回:
2012-08-21 20:33
基本上拿东西后'releases/'
根据数字的位置进行拆分。
背景:OS X 10.7;将在 bash 脚本中使用。
/尴尬的
给你。
a=/home/deploy/releases/20120821203354
b=${a#/home/deploy/releases/}
c="${b:0:4}-${b:4:2}-${b:6:2} ${b:8:2}:${b:10:2}"
都是关于shell参数扩展的
在 OSX 中,在 bash 中,您可以date
像在 FreeBSD 中一样使用该命令。
$ text="/home/deploy/releases/20120821203354"
$ date -j -f "%Y%m%d%H%M%S" "${text##*/}" '+%Y-%m-%d %H:%M'
2012-08-21 20:33
请注意,date
BSD 操作系统中的选项与 Linux 中的选项不同。
您应该能够根据自己的需要进行调整:
echo " /home/deploy/releases/20120821203354" | awk -F/ '{print $5}' | awk '{print substr($0,0,4)"-"substr($0,5,2)"-"substr($0,7,2)" "substr($0,9,2)":"substr($0,11,2)}'