私のファイルSample1.txtには、次のデータが含まれています。
2017-12-08
2017-12-31
2016-12-31
201707-31
2017-08-31
2017-08 -31
2017-0008-31
2017 08abcd 31
2017 0812-31
2017 -08- 31
2017年に始まり31年に終わり、その間に「08」のある日付を持ってきたいです。この日付を取得するには、grepで次の正規表現を使用していますが、動作しません。
grep -E '^2017(08)+31$' sample1.txt
ベストアンサー1
2017年から始まり31で終わり、途中に「08」がある
- 2017年から——
^2017
- もしそうなら、何かがあるかもしれませんし、何もないかもしれません -
.*
- その後は08-
08
- もしそうなら、何かがあるかもしれませんし、何もないかもしれません -
.*
- そして31で終わる -
31$
みんな一緒に入れて
^2017.*08.*31$
私はあなたがそれをどこで得ることができるか理解していません(08)+
。拡張REでは、これは08
1つ以上のシーケンスで構成されるパターンを定義します。たとえば、08
または0808
。080808080808080808