당신은 아마 +
을 탈출해야합니다 메타 문자.
grep -e '"[a-z]\+"'
두 번째 부분에서는 로켈 때문에 멀티 문자와 일치하는 이유가 있습니다. 다음과 같이
$ echo '"Abc"' | grep -e '"[a-z]\+"'
"Abc"
$ export LC_ALL=C
$ echo '"Abc"' | grep -e '"[a-z]\+"'
$
는 "아스키 같은"행동을 얻으려면, 당신이 당신의 로케일을 설정해야하는 "C",은 grep 남자 페이지에 지정된 : 브라켓 표현식 내에서
, 범위 식은 하이픈으로 구분 된 두 개의 문자로 구성됩니다. 로케일의 조합 순서와 문자 세트를 사용하여 두 문자 사이를 정렬하는 단일 문자 과 일치합니다. 예를 들어 기본 C 로켈의 [a-d]는 [abcd]와 같습니다. 대부분의 로케일은 사전 순서로 문자를 정렬하며 이러한 로케일 [a - d]는 일반적으로 [abcd]와 같지 않은 입니다. 예를 들어, [aBbCcDd]와 같을 수 있습니다. 당신이 로케일에 대해 혼란을 원하지 않는 경우 브래킷 식의 전통적인 해석을 얻으려면, 당신이 나를 위해 일한, 값 C.
두 번째 정규식이 정상적으로 보입니다. 나는 그것을 시도하고 그것은 대문자와 일치하지 않습니다. – Misha
@ 로케일 특정 조합 순서를 잊어 버리는 것과 같습니다. –
@Don 감사합니다. 그것에 대해 생각조차하지 않았습니다! – Misha