내 파일 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
하나 이상의 시퀀스로 구성된 패턴을 정의합니다. 예를 들어, 08
또는 0808
심지어 080808080808080808
.