Sed 试图摆脱与塞德的约会

Sed 试图摆脱与塞德的约会,sed,substitution,Sed,Substitution,我使用以下命令使用sed从字符串中获取年份 echo 1234-1-12 | sed -r 's/(\d{4})-\d{1,2}-\d{1,2}/\1/' 但不知何故,它返回的是整个日期,而不是年份 获取1234-1-12 应为1234 你知道为什么它不起作用吗?简单的grep方法: echo "1234-1-12" | grep -o '^[^-]*' 输出: 1234 1234 使用date命令: string="1234-1-12" date -d "${string}" +%Y

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

echo 1234-1-12 | sed -r 's/(\d{4})-\d{1,2}-\d{1,2}/\1/'
但不知何故,它返回的是整个日期,而不是年份

获取
1234-1-12

应为
1234

你知道为什么它不起作用吗?

简单的grep方法:

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

1234
1234

使用
date
命令:

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