YAML 파일이 있습니다.
- name: scheduler-configuration
- name: scheduler
나는 다음과 같은 것을 잡고 있습니다.
grep "scheduler" file.txt
출력에는 두 줄이 표시되지만 한 줄만 필요합니다. 예를 들면 다음과 같습니다.
-name: scheduler
grep
이(또는 유사한 도구)를 정확한 패턴으로 제한할 수 있는 방법이 있습니까 ?
답변1
설명대로여기, grep은 단어가 영숫자와 밑줄로 구성된 것으로 간주합니다. 따라서 .-
grep scheduler
grep -w
영숫자와 "_"의 반대 문자뿐만 아니라 다른 문자도 포함하는 "스케줄러" 앞뒤에 일치하는 패턴을 직접 작성할 수 있습니다.
grep -E '([^[:alnum:]_-]|^)scheduler([^[:alnum:]_-]|$)' file.txt
이는 다른 영숫자 문자 또는 "_" 또는 "-"로 묶이지 않은 "스케줄러"와 일치합니다.
답변2
scheduler
공백으로 둘러싸여 있거나 아무 것도 없는 것처럼 보입니다 .
$ grep -E '(^|[[:space:]])scheduler([[:space:]]|$)' file
- name: scheduler