맨페이지를 grep으로 파이프하는 방법은 무엇입니까?

맨페이지를 grep으로 파이프하는 방법은 무엇입니까?

그래서 grep 코드에서 "^"의 의미를 빨리 찾고 싶습니다. 제 코드는 다음과 같습니다.

 man grep|grep "^" 

하지만 불행히도 출력은 내가 원하는 것이 아닙니다. grep 매뉴얼의 모든 내용을 단순히 다시 인쇄하는 것처럼 보이므로 원하는 정보를 빨리 찾을 수 없습니다. 여기에 이미지 설명을 입력하세요.

답변1

매뉴얼 에는 유틸리티에 grep(1)대한 설명이 있지만 grep이는 Unix 시스템에서 정규식을 사용하기 위한 여러 유틸리티 중 하나일 뿐이므로 정규식 자체에 대한 별도의 매뉴얼이 있습니다 re_format(7). grep(1)귀하의 질문에 표시된 매뉴얼 섹션에서 이에 대해 약간 언급하고 있습니다.

^is는 정규 표현식의 시작 부분에 특별한 의미가 있으므로(모든 줄의 시작 부분에 있는 공백과 일치) 정규 표현식에서 있는 그대로 사용하여 찾을 수 없습니다 ^. 알다시피 정규식은 다음 ^과 일치합니다 .각 라인. 대신 로 이스케이프해야 합니다 \^.

man re_format | grep '\^'

grep또한 주어진 패턴이 다음과 같이 처리되도록 요구할 수도 있습니다 .-F해당 옵션을 정규 표현식으로 사용하는 대신 :

man re_format | grep -F '^'

사용 중인 grep옵션이 있는 경우 -A이 옵션을 사용하여 특정 수의 후행 컨텍스트 줄을 제공할 수 있습니다.

man re_format | grep -A 5 -F '^'

제가 권장하는 것은 환경 변수를 설정하거나 PAGER(기본 호출기가 있으므로 macOS에서는 필요하지 않음) 입력한 다음 in을 사용하여 읽고 싶은 매뉴얼 섹션을 검색하는 것입니다. 의 검색 기능은 정규식 검색 패턴을 사용하므로 문자 자체를 찾으려면 검색을 해야 합니다.MANPAGERlesslessman re_format/lessless\^^

또는 /뒤에 오는 Ctrl+R정규식으로 해석되지 않는 문자열을 검색합니다 ( 와 유사 grep -F하지만 둘 중 하나가 검색 문자열의 첫 번째 문자이고 *특별한 경우, 매뉴얼 참조). +로 검색하면 일반 검색 프롬프트( )가 됩니다.!less(1)/Ctrl+Rless/Regex-off /

관련 정보