「1111-11-11」または「2382-21-20」を含む行を grep します。(任意の数字)

「1111-11-11」または「2382-21-20」を含む行を grep します。(任意の数字)

私はこれをやろうとしましたが、こうなりました

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}\>'

関連情報