grep
Ubuntu 18.04 및 CentOS 8 매뉴얼 페이지에는 -P
grep 옵션에 대해 다음과 같이 설명되어 있습니다.
-P, --perl-regexp 패턴을 Perl 호환 정규식(PCRE)으로 해석합니다. 이것은 실험적인 그리고 grep -P 경고할 수도 있다 구현되지 않은 기능.
나는 "실험적"과 "가능한 경고"를 강조했습니다. 실험적이라는 것은 생산에 적합하지 않다는 것을 의미합니다. '경고할 수 있음'은 구현되지 않은 기능이 발생할 수 있으며 grep
경고를 받지 않을 수도 있음을 의미합니다.
이전 버전에서는 grep
"실험적"이라는 용어 대신 "매우 실험적인"이라는 용어도 보았습니다.
-P
GNU 옵션은 grep
프로덕션 환경에서 사용해도 안전한가요? 내 부팅 스크립트 중 일부에는 특정 Perl 기능이 필요하므로 이 옵션은 Perl이 아직 설치/포함되지 않은 경우 유용합니다.
답변1
이 질문은 취향의 문제일 수 있습니다.
개인적으로 나는 POSIX만 사용하도록 정규식을 다시 작성할 수 있는지 알아보고 싶습니다. 이것이 가능하지 않다면 다음을 사용하겠습니다.
| perl -ne '/.../ and print' |
대신에. 이렇게 하면 지원된다는 것을 확신하고 perl
설치되지 않으면 어떤 오류가 발생하는지 명확하게 알 수 있습니다.
나하다개인 스크립트(즉, 프로덕션이 아닌)에는 -P를 사용하십시오.
유일하게 그런 생각을 했을 때가능한프로덕션에서 사용하는 이유는 스크립트가 -P를 지원하도록 테스트되었으며 지원하지 않으면 명백한 오류가 발생한다는 것입니다.