라는 파일이 있습니다정보이 줄이 있어요
CSC/UT/USA/WBIMB/SAP/orders05:orders05/ORDERS05/NONE/ORDRSP/758
grep을 수행 중입니다(플랫폼은 AIX 6.1입니다).
grep CSC/UT/USA/WBIMB/SAP/orders05:orders05/ORDERS05/NONE/ORDRSP/758 message
라인을 찾아 출력을 표시합니다.
그런데 아래와 같이 와일드카드를 사용하려고 하면
grep CSC/UT/USA/WBIMB/SAP/orders05:orders05/ORDERS05/.*/ORDRSP/758 message
이 줄을 찾을 수 없습니다. 또한 작은따옴표/큰따옴표를 사용해 보았습니다. 작동하지 않습니다. 여기서 뭔가 빠졌나요? 혼란스러워요.
답변1
노트:AIX에서는 이것을 테스트할 수 없었지만 다음은 GNU grep에서 작동합니다.
grep CSC/UT/USA/WBIMB/SAP/orders05:orders05/ORDERS05/.\*/ORDRSP/758 message
또는:
grep 'CSC/UT/USA/WBIMB/SAP/orders05:orders05/ORDERS05/.\+/ORDRSP/758' message
이는 grep의 기본 정규 표현식에서 대부분의 메타 문자가 이스케이프된 경우에만 특별한 의미를 갖기 때문입니다. grep
매뉴얼 페이지 에서 :
In basic regular expressions the meta-characters ?, +, {, |, (, and ) lose
their special meaning; instead use the backslashed versions \?, \+, \{,
\|, \(, and \).
답변2
노력하다
egrep CSC/UT/USA/WBIMB/SAP/orders05:orders05/ORDERS05/*/ORDRSP/758 message