아래에 언급된 조건에 따라 줄에 apple 또는 Pie 문자열이 포함되어 있는지 확인하고 싶습니다.
aaaa bbbbb applezzzz this should be treated as invalid
aaaaapple dddddd invalid case
aaaa vvvvv apple valid case
apple valid case (space just after apple)
appleY if Y is present just after apple , it is also treated valid , Y could also be symbol like $
나는 grep을 시도했다
grep 'apple\|appleY\|appple ' <<< $line
grep 'pie\|pieY\|pie ' <<< $line
그러나 이는 유효하지 않은 경우를 만족시킵니다.
답변1
GNU를 사용하는 경우 grep 옵션을 사용하여 전체 단어를 찾고 여러 패턴을 지정할 grep
수 있습니다 .-w
grep -w -e apple -e appleY -e pie -e pieY
정규식으로 결합할 수도 있습니다.
grep -w 'appleY\?\|pieY\?'
여기서 의미하는 것은 Y?
"선택적으로 Y가 뒤따른다"입니다.
옵션과 함께 확장 정규 표현식을 사용하면 이스케이프를 제거할 수 있습니다 -E
.
grep -w -E 'appleY?|pieY?'