`man`이 대소 문자를 구분하도록 강제 할 수 있습니까?


10

맨 페이지를 검색 할 때 대소 문자를 구분하지만 대문자 만 검색합니다. 예를 들어 x일치 x하고 X반면 X일치 x합니다. 이것은 man-db기본적으로 페도라 파생 시스템에서 사용되며 다른 버전에서는 사용 가능한 man 버전입니다. man man기본 호출기는 less -s입니다. $LESS환경에 정의되어 있지 않으며 my $PAGERis just less이며 별명이 없습니다.

이것은 less스스로 호출 할 때의 동작이 아닙니다 .

어쨌든 x소문자 x를 사용할 때 소문자를 강제로 적용 해야 man합니까?


1
기본값은 대소 문자를 구분합니다. LESS환경 변수에 포함 된 것처럼 들립니다 -i.
manatwork

1
어떤 버전 less이 있습니까? 에 대한 별칭이 설정되어 less있습니까? LESS 또는 LESSOPEN 환경 변수가 설정되어 있습니까? 기본적으로 일치 하는 less항목 x만 검색 x하면 안됩니다.X
bsd

우리는 이미이 Q를하지 않았습니까? 나는 Hauke가 그것을 물었다, 나는 그것을 찾을 것이다라고 생각한다. .. (5 분 전에 되돌아 온다. unix.stackexchange.com/questions/116395/…
slm

@ slm, 이것은 나의 첫 번째 반응이기도했지만 질문 소유자 가 그 질문에 참여 했을 때 그가 그것에 대해 알고 있다고 생각합니다.
manatwork

@manatwork echo $LESS= 아무것도 아닙니다. 참고 그 것이다 없는 경우 insensitve -하지만 그것은 단지 시행한다 감도 WRT 대문자. @bdowning alias | grep less= 아무것도 아닙니다. man그러나 (mandb, btw) 를 통해서만 적용됩니다 . 나는 어딘가에 전에 이것에 대해 읽었다 확신합니다 ...
goldilocks

답변:


3

남자는 덜 부르고있다. man 레벨에서 유일한 제어는 Less with를 호출 할 옵션을 선택하는 것입니다.

Less의 검색 대 / 소문자 구분은 두 가지 옵션으로 제어됩니다.

  • 경우 -I효과에, 다음 검색은 대소 문자를 구별하지 않는다 : 중 하나 a또는 A모두에 맞게 사용할 수 있습니다 aA.
  • 경우는 -i유효하지만 -I, 다음 검색은 대소 문자를 구분하지만, 패턴에는 대문자가없는 경우에만 가능합니다.

-ILess에 기본 옵션을 설정 하면 맨 페이지에서도 모든 검색이 대소 문자를 구분하지 않습니다.

Man-db는 LESS환경 변수 를 통해 추가 옵션을 호출기에 전달 합니다.이 변수는 Less가 명령 줄 옵션과 같은 방식으로 해석됩니다. 설정은 컴파일 타임에 하드 코딩되어 시작됩니다 -i. (값은 "-ix8RmPm%s$PM%s$"Man-db 2.6.2 기준이며 P…$부분은 프롬프트 문자열입니다.)

매뉴얼 페이지의 검색에서 대소 문자를 구분하지 않거나 항상 대소 문자를 구분하지 않으려면 man-db 자체에서이를 구성 할 방법이 없습니다. Man-db가있는 경우 내용을 현재 값 앞에 추가 man하므로 LESS환경 변수 를 조작 하는 별명 또는 랩퍼 스크립트를 작성할 수 있습니다 .

alias man='LESS="$LESS -I" man'

-i옵션 을 끄고 맨 페이지에서 기본적으로 검색시 항상 대소 문자를 구분 하려면 :

alias man='LESS="$LESS -+i" man'

환경 변수 LESS를 설정하여 다른 값을 하드 코딩 할 수도 MANLESS있지만 그렇게하면 값으로 man설정 하면 사용자 정의 제목 줄 ( "매뉴얼 페이지 ")과 다른 항목 (특히 굵게 및 밑줄 형식 을 포함해야합니다 ).LESSMANLESSfoo(42)-R


1

이것은 어떻게 less-i(명령 줄 스위치) "의 경우를 구분"모드가 작동하는 (즉, 여전히 대문자에 민감하다). Gilles가 지적했듯이 이것을 사용하는 것은 man-db로 컴파일됩니다.

Gilles에서 WRT를 설정하여 별명 +-i또는 사용자 정의 설정에 표시된 방법 외에도 MANLESSman 페이지가 열리면 대소 문자를 엄격하게 전환 할 수 있습니다 -i(스위치를 켜고 끕니다). 당신은 작은 "케이스 검색에서 중요하다"메시지 지금은 볼 x만 일치 x하고 X만 일치합니다 X.

Man-db man에는 -I스위치가 있지만 이것은 man 페이지 검색에 적용됩니다. 예를 들어 기본적으로 man BASHbash 매뉴얼 페이지가 표시되지만 man -I BASH그렇지는 않습니다.


0

"어쨌든 소문자 xx사용 하도록 소문자를 강제로 적용 해야 man합니까?"

한 가지 방법이 있습니다

man -Tascii manpage |less

나는 gory 세부 사항을 알지 못하지만 roff처리가 마크 업을 수행 중이며 페이저가 마크 업 된 텍스트를 표시하더라도 마크 업되지 않은 텍스트와 일치하는 것으로 보입니다.
매우 혼란스럽고, nroff전문가가 파이프 라인을 설명 할 수 있기를 바랍니다 .


이것은 GUI 터미널에 엉망을 만듭니다 ( ESC[1m시퀀스 유형 전체 ).
goldilocks
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.