이 름
lexgrog - 맨 페 이 지 의 헤 더 정 보 를 해 석 합 니 다
개 요
lexgrog [-m|-c] [-dfw?V] [-E 인 코 딩 ] file ...
설 명
lexgrog 은 (는 ) lex의 “groff guess” 유 틸 리 티 기 존 구 현 체 입 니 다 . 맨 페 이 지 원 본 파 일 또 는 “cat” 페 이 지 로 선 서 식 화 처 리 한 페 이 지 로 명 령 행 에 서 파 일 목 록 을 읽 어 들 이 며 , apropos and whatis에 서 나 타 내 듯 이 이 름 과 설 명 , 그 리 고 nroff 또 는 troff 두 요 소 모 두 에 전 달 하 기 전 맨 페 이 지 에 서 필 요 한 전 처 리 필 터 목 록 을 표 시 합 니 다 .
입 력 구 성 이 잘 못 됐 을 경 우 , lexprog에 서 “해 석 실 패 ” 를 출 력 합 니 다 . 맨 페 이 지 정 확 성 검 사 가 필 요 한 외 브 프 로 그 램 에 쓸 만 합 니 다 . lexgrog의 입 력 파 일 이 “-” 이 면 , 표 준 입 력 을 읽 습 니 다 . 입 력 파 일 이 압 축 파 일 이 면 , 자 동 으 로 압 축 해 제 후 읽 습 니 다 .
옵 션
-d, --debug
디 버 깅 정 보 를 출 력 합 니 다 .
-m, --man
입 력 을 맨 페 이 지 원 본 파 일 로 해 석 합 니 다 . --man 또 는 --cat 둘 중 어 느 하 나 라 도 지 정 하 지 않 았 을 경 우 기 본 동 작 입 니 다 .
-c, --cat
입 력 을 선 서 식 화 처 리 한 맨 페 이 지 로 해 석 합 니 다 (“cat pages”). --man 과 --cat 옵 션 은 동 시 에 쓸 수 없 습 니 다 .
-w, --whatis
apropos 와 whatis에 서 활 용 하 듯 맨 페 이 지 헤 더 의 이 름 과 설 명 을 표 시 합 니 다 . --whatis 또 는 --filters 둘 중 어 느 하 나 도 주 어 지 지 않 은 상 태 가 기 본 입 니 다 .
-f, --filters
nroff 또 는 troff로 서 식 화 하 기 전 전 처 리 에 필 요 한 필 터 목 록 을 표 시 합 니 다 .
-E 인 코 딩 , --encoding 인 코 딩
페 이 지 에 대 해 예 측 한 문 자 셋 대 신 인 코 딩 값 을 활 용 합 니 다 .
-?, --help
도 움 말 메 시 지 를 출 력 하 고 나 갑 니 다 .
--usage
간 단 한 사 용 법 메 시 지 를 출 력 하 고 나 갑 니 다 .
-V, --version
버 전 정 보 를 출 력 합 니 다 .
종 료 상 태
0 |
프 로 그 램 실 행 성 공 . | ||
1 |
사 용 법 오 류 . | ||
2 |
lexgrog 에 서 입 력 파 일 하 나 이 상 해 석 에 실 패 했 습 니 다 . |
예 제
$ lexgrog man.1
man.1: "man - an interface to the system reference
manuals"
$ lexgrog -fw man.1
man.1 (t): "man - an interface to the system reference
manuals"
$ lexgrog -c whatis.cat1
whatis.cat1: "whatis - display manual page
descriptions"
$ lexgrog broken.1
broken.1: parse failed
WHATIS 해 석
mandb(lexgrog와 동 일 한 코 드 를 활 용 함 )는 문 서 로 기 록 한 특 징 의 이 름 과 설 명 을 찾 으 려 각 설 명 서 페 이 지 상 단 의 이 름 섹 션 을 해 석 합 니 다 . 해 석 프 로 그 램 이 여 태 껏 활 용 해 온 제 각 기 다 른 문 서 양 식 에 대 응 하 느 라 대 부 분 문 제 가 없 지 만 , 필 요 한 정 보 추 출 에 실 패 할 때 도 있 습 니 다 .
전 통 man 매 크 로 집 합 을 활 용 할 때 , 올 바 른 이 름 섹 션 은 다 음 과 같 습 니 다 :
.SH NAME
foo \- program to do something
일 부 설 명 서 페 이 저 에 서 는 정 확 히 나 타 난 대 로 ’\-’ 옵 션 이 필 요 합 니 다 . mandb에 서 는 어 지 간 한 경 우 를 다 받 아 들 이 지 만 , 다 른 시 스 템 에 서 의 호 환 성 에 있 어 서 는 백 슬 래 시 를 붙 여 두 는 게 좋 습 니 다 .
좌 측 에 는 쉼 표 로 구 분 한 몇 가 지 이 름 이 있 습 니 다 . 공 백 이 들 어 간 이 름 은 구 성 이 영 탐 탁 치 못 한 몇 가 지 이 름 섹 션 에 서 이 상 한 동 작 을 막 기 위 해 무 시 합 니 다 . 우 측 에 는 자 유 로 운 형 태 를 갖 추 며 , 여 러 줄 에 걸 쳐 내 용 을 구 성 할 수 도 있 습 니 다 . 동 일 한 설 명 서 페 이 지 에 몇 가 지 기 능 에 대 한 다 른 여 러 가 지 설 명 을 붙 여 넣 었 다 면 , 다 음 구 성 을 갖 춥 니 다 :
.SH NAME
foo, bar \- programs to do something
.br
baz \- program to do nothing
(.PP와 같 이 새 문 단 을 시 작 하 는 매 크 로 는 .br 강 제 개 행 매 크 로 대 신 사 용 할 수 있 습 니 다 .)
BSD의 mdoc 매 크 로 세 트 를 활 용 한 다 면 , 올 바 른 이 름 섹 션 은 다 음 과 같 습 니 다 :
.Sh NAME
.Nm foo
.Nd program to do something
WHATIS 해 석 에 실 패 하 는 덴 몇 가 지 보 편 적 인 이 유 가 있 습 니 다 . 가 끔 설 명 서 페 이 지 저 자 분 들 은 ’.SH NAME’을 ’.SH MYPROGRAM’과 같 은 식 으 로 바 꾸 어 , mandb에 서 필 요 한 정 보 를 추 출 해 야 하 는 부 분 에 서 섹 션 을 찾 지 못 하 게 합 니 다 . 때 로 는 이 름 섹 션 을 넣 지 만 ’name \- description’ 형 식 대 신 내 용 을 멋 대 로 임 의 로 넣 습 니 다 . 그 러 나 , 위 에 서 재 구 성 한 어 떤 문 법 이 든 따 라 야 합 니 다 .
추 가 참 조
apropos(1), man(1), whatis(1), mandb(8)
참 고
lexgrog 에 서 는 .so 요 청 이 들 어 간 파 일 을 해 석 하 려 하 지 만 , 파 일 을 설 명 서 페 이 지 계 층 위 치 에 제 대 로 복 사 해 넣 어 야 만 올 바 르 게 수 행 할 수 있 습 니 다 .
저 작 자
맨 페 이 지 를 검 색 할 때 lexgrog에 서 활 용 하 는 코 드 작 성 자 :
Wilf.
(G.Wilford [AT] ee.uk).
Fabrizio Polacco (fpolacco [AT] debian.org).
Colin Watson (cjwatson [AT] debian.org).
Colin Watson은 이 맨 페 이 지 와 같 이 명 령 행 프 론 트 엔 드 의 현 재 형 태 를 작 성 했 습 니 다 .
버 그
https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db