2017-04-09 62 views
-1

我使用以下命令从sed中获取字符串的年份。试图从sed中获取年份

echo 1234-1-12 | sed -r 's/(\d{4})-\d{1,2}-\d{1,2}/\1/' 

但不知何故,它返回的是整个日期而不是年份。

越来越1234-1-12

期待1234

任何想法,为什么它不工作?

回答

0

使用date命令:

string="1234-1-12" 
date -d "${string}" +%Y 

输出:

1234 
0

简单的grep方法:

echo "1234-1-12" | grep -o '^[^-]*' 

输出:

1234