【发布时间】:2017-09-04 09:13:09
【问题描述】:
我正在使用以下命令通过 sed 从字符串中获取年份。
echo 1234-1-12 | sed -r 's/(\d{4})-\d{1,2}-\d{1,2}/\1/'
但不知何故,它返回整个日期而不是年份。
获取1234-1-12
期待1234
任何想法为什么它不起作用?
【问题讨论】:
标签: sed substitution
我正在使用以下命令通过 sed 从字符串中获取年份。
echo 1234-1-12 | sed -r 's/(\d{4})-\d{1,2}-\d{1,2}/\1/'
但不知何故,它返回整个日期而不是年份。
获取1234-1-12
期待1234
任何想法为什么它不起作用?
【问题讨论】:
标签: sed substitution
使用date 命令:
string="1234-1-12"
date -d "${string}" +%Y
输出:
1234
【讨论】:
简单的grep方法:
echo "1234-1-12" | grep -o '^[^-]*'
输出:
1234
【讨论】: