给出字符串
[[('WASHINGTON', 'NNP')], [('New', 'NNP'), ('York', 'NNP')]]
我想使用某种类似
的模式来解析它的日期log-2015-02-10
Bash有可能吗?
答案 0 :(得分:1)
date
命令可以解析字符串,但是您无法使用较低级别语言的strptime
库调用来指定格式。不过你可以这样做:
s=log-2015-02-10
when=$(date -d "${s#log-}")
echo $when # Tue Feb 10 00:00:00 EST 2015
答案 1 :(得分:1)
有很多可能性,但这里有一个简单的方法,可以在不同的变量中提供三个日期组件:
IFS=- read _ year month day <<< log-2015-02-10
如果输入不是一组简单的分隔字段,您可以使用正则表达式(可能比这里显示的更常规):
[[ log-2015-02-10 =~ log-(....)-(..)-(..) ]]
year=${BASH_REMATCH[1]}
month=${BASH_REMATCH[2]}
day=${BASH_REMATCH[3]}