나는 Windows에 있지만 내 질문은 여전히 여기에 올바르게 배치되어있는 것 같습니다.
C:\Users\User>grep --version
GNU grep 2.6.3
C:\Users\User>sed --version
GNU sed version 4.2.1
나는 다음과 같은 작업 (출력 here
)을 발견했습니다 .
echo here | grep -E "\w+"
echo here | grep -E "[her]+"
그러나 이것은 작동하지 않습니다 (아무것도 출력하지 않음).
echo here | grep -E "[\w]+"
이것은 다시 (출력 here
)합니다 :
echo here | grep -P "[\w]+"
따라서 [\w]
Perl 정규 표현식에만 해당되는 것으로 가정합니다. 그 맞습니까?
그럼 이야기합시다 sed
. 이것은 작동합니다 (출력 gone
) :
echo here | sed -r "s/\w+/gone/"
echo here | sed -r "s/[her]+/gone/"
그리고 다시, 이것은 (출력 here
) 하지 않습니다 :
echo here | sed -r "s/[\w]+/gone/"
이제 sed에 대해 Perl 정규 표현식을 활성화하는 방법은 무엇입니까?
[_[:alnum:]]
[\w/]
([_[:alnum:]/]
이 경우) 처럼 확장 할 수있는 좋은 해결 방법입니다 .