지정된 명령 옵션에 대해서만`man` 문서를 보는 방법이 있습니까?


24

의 의미를 알고 싶으면 wget -bby by manual을 본 man wget다음 -b옵션 을 검색하십시오 .

   -b
   --background
       Go to background immediately after startup.  If no output file is specified via the -o, output is redirected to wget-log.

와 같은 명령으로 결과를 얻고 싶습니다 man wget -b. (물론 이것은 작동하지 않습니다.)

그것을 가능하게하는 비슷한 방법이 있습니까?


wget -h | 그렙 '\ -b'
Faheem Mitha

답변:


5

맨 페이지를 리디렉션 awk하여 파트를 추출 할 수 있습니다 .

man wget | awk '/^ *-b *.*$/,/^$/{print}'
       -b
       --background
           Go to background immediately after startup.  If no output file is specified via the -o, output is redirected to wget-log.

그 부분은 -b빈 줄과 빈 줄 사이의 모든 것입니다 .


1
{print}생략 가능
Costas

덕분에, 나는 함께 사용하려고 GNU Awk 4.0.1(Ubuntu), GNU Awk 3.1.7(CentOS)그리고 awk version 20070501(OS X),하지만 작동합니다 4.0.1.
ironsand

1
.*$생략 가능
Walter Tross

22

less남성용 호출기로 사용 하면 시도해 볼 수 있습니다.

LESS="+/^\s+-b" man wget

어디에

  1. +less개봉 후 다음 작업을 실행하기위한 기호
  2. / 검색을 시작하는 명령
  3. ^\s+-b-b라인 시작 부터 일치 하는 정규 표현식

따라서 원하는 경우 쉘에 적절한 기능을 정렬 할 수 있습니다

function rman {
#USAGE: rman programm.name option.to.search (with "-" symbol)
LESS="+/^\s+$2" man "$1"
}

~/.bashrc예를 들어 추가하십시오 .


이 방법은 효과가 없습니다. 멀티 라인 매칭을하지 않기 때문에 생각합니다
rb612

14

실행할 때를 man command누른 /다음 검색 할 일반 텍스트를 입력 할 수 있습니다 . 예를 들어, 입력 하면 텍스트 /-b의 첫 번째 인스턴스로 이동 -b합니다.


@drewbenn 아, 좋아. 나는 /계속하기 위해 항상 + enter를 눌렀다 .
솜털

10

나는이라고 할 수있는 작은 스크립트를 쓴 그가를 예를 들어, he wget -b.

기본 전략은 다음과 같습니다. -b한 줄에서 첫 번째 단어로 옵션 (예 :)을 검색 한 다음 다음 머리글 또는 일치하는 들여 쓰기가있는 다음 줄까지 인쇄합니다.

당신이를 사용할 수없는 경우, 당신은 사용하여 비슷한 얻을 수있는 기본적인 sed

man wget | sed -ne '/^  *-b/,/^$/p'

또한 desc 스크립트는 매우 유용합니다.
Pandya

단지로 이름을 변경하기로 결정 he에서와 같이 short help, 플러스 he/ man.
Mikel

새로운 예를 사용하도록 업데이트되었습니다 wget -b.
Mikel

3

explainshell.com에 연결하는 다음 스크립트를 사용 합니다 . 얼마 전에 reddit에서 복사했습니다.

#!/bin/bash
cmd=$1
shift
args=$*
args=${args/ /+}
w3m -dump "http://explainshell.com/explain/$cmd?args=$args"

나는 그것을 명명하고 rman내 안에 넣었다 $PATH. 에 대한 사용법 wget -b:

$ rman wget -b    
[logo]

  • about
  •
  • [                    ]

wget(1) -b

The non-interactive network downloader

-b
--background
    Go to background immediately after startup.  If no output file is specified via the -o, output is
    redirected to wget-log.

source manpages: wget

처음에 가비지를 표시하지 않도록이 스크립트를 약간 조정할 수 있습니다.

편집 : 나는 여기 에서 그것을 얻었다 . 저자에게 감사합니다!


3
이것은 잠재적으로 기계에 설치된 명령과 다른 구현 / 버전 명령을 문서화한다는 점에 유의해야합니다.
Stéphane Chazelas

또한 코드에서 이스케이프 처리 및 잘못된 인용이 없습니다.
l0b0

예, 강조해야하는지 궁금했습니다. 그러나 특정 옵션이 프로그램의 특정 특징에서 무언가를 의미하는 경우 일반적으로 다른 특징에서 동일하게 의미합니다. 더 자주는 일부 옵션이 누락 된 것입니다. 다시, 이것은 나의 경험 일뿐입니다.
Arkadiusz Drabczyk

@ l0b0 :이 코드를 쓰지 않았습니다. 처음에는 bash를 사용하지 않겠습니다
Arkadiusz Drabczyk

0

또는 your grep가 GNU 인 경우 grep다음과 같이 사용할 수 있습니다.

man wget | grep -EA3 '^ *-b'

어느 줄에서 -A(GNU 확장명)은 줄을 일치시킨 후 인쇄 줄 수를 나타 3냅니다 (여기서 ). 완전한 설명을 위해 적절한 번호를 사용할 수 있습니다.

예:

$ man wget | grep -EA3 '^ *-b'
       -b
       --background
           Go to background immediately after startup.  If no output file is specified via the -o, output is
           redirected to wget-log.

$ man grep | grep -EA3 '^ *-A'
       -A NUM, --after-context=NUM
              Print NUM lines of trailing context after matching lines.  Places a line containing a  group  separator
              (--)  between  contiguous groups of matches.  With the -o or --only-matching option, this has no effect
              and a warning is given.

0

명령 행 경험을 위해서는 @Costas 버전을 사용하십시오.

경량 버전의 man경우와 동일한 텍스트 인터페이스를 사용합니다 less. 이는와 동일한 명령을 사용할 수 있음을 의미합니다 less.

# open manual to wget
man wget

# search for -b
/-b

# use "n" to navigate to next version of -b until you find what you want
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.