Grep 包含“1111-11-11”或“2382-21-20”的行。 (任何数字)

Grep 包含“1111-11-11”或“2382-21-20”的行。 (任何数字)

我尝试过这样做并且想出了这个

grep -E '\<[0-9]{4}"-"[0-9]{2}"-"[0-9]{2}\>'

它不起作用,原因是"-"多个 grep 东西,所以我尝试用这样的管道将它们分开

grep -E '\<[0-9]{4}-|[0-9]{2}-|[0-9]{2}\>'

但它仍然匹配类似4444、 或类似的行。有人知道如何实现我想要的吗?

答案1

你过度引用了...

grep -E '\<[0-9]{4}-[0-9]{2}-[0-9]{2}\>'

答案2

乔奥关于引号是正确的,另外可以使它短一点:

grep -E '\<[0-9]{4}(-[0-9]{2}){2}\>'

相关内容