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

JJoaoправ насчет цитат, кроме того, можно сделать их немного короче:

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

Связанный контент