스크롤하지 않고 -i
switch in grep
명령 의 사용법을 알고 싶다고 가정 해보십시오 . 해당 명령에 대한 사양이 필요하거나 적어도 화면에 먼저 표시됩니다. 그래서 방법? 당신이 말할 수 있듯이 일반적으로뿐만 아니라 grep -i
.
답변
이 간단한 sed
명령을 사용해보십시오
$ man grep | sed -n '/-i, --ignore-case/,+2p'
-i, --ignore-case
Ignore case distinctions in both the PATTERN and the input
files. (-i is specified by POSIX.)
설명:
sed -n '/-i, --ignore-case/,+2p'
|<-Search pattern->|
검색 패턴을 포함하는 행을 검색 패턴 행 바로 아래에있는 2 개의 행과 함께 인쇄합니다.
또는
아래처럼 검색 패턴에 플래그 만 제공하면됩니다.
avinash@avinash-Lenovo-IdeaPad-Z500:~$ man grep | sed -n '/ *i, -/,+3p'
-i, --ignore-case
Ignore case distinctions in both the PATTERN and the input
files. (-i is specified by POSIX.)
avinash@avinash-Lenovo-IdeaPad-Z500:~$ man grep | sed -n '/ *V, -/,+3p'
-V, --version
Print the version number of grep to the standard output stream.
This version number should be included in all bug reports (see
below).
avinash@avinash-Lenovo-IdeaPad-Z500:~$ man grep | sed -n '/ *F, -/,+3p'
-F, --fixed-strings
Interpret PATTERN as a list of fixed strings, separated by
newlines, any of which is to be matched. (-F is specified by
POSIX.)
avinash@avinash-Lenovo-IdeaPad-Z500:~$ man grep | sed -n '/ *G, -/,+3p'
-G, --basic-regexp
Interpret PATTERN as a basic regular expression (BRE, see
below). This is the default.
빠른 액세스 를 위해이 스크립트를 .bashrc
( $HOME/.bashrc
)에 추가 할 수 있습니다 .
mangrep(){
USAGE="mangrep <application> <switch>"
if [[ "$#" -ne "2" ]]
then
echo "Usage: $USAGE"
else
man "$1" | sed -n "/ *"$2", -/,+3p"
fi
}
답변
터미널에서 아래 명령을 입력하십시오.
man grep
그런 다음 슬래시 문자를 입력 /하고 검색을 쓰기 같은 -i
, 다음에 Enter. 검색 문자열이 처음 나타날 때 커서를 놓습니다. 를 누르면 n커서가 다음 항목으로 이동합니다. Shift+를 누르면 n커서가 이전 항목으로 이동합니다.
답변
가장 간단한 접근 방식은 /@girardengo가 제안한대로 검색 하는 것이지만, 내가 찾은 grep
대신 사용할 수도 있습니다 sed
.
$ man grep | grep -A 1 '^ *-i'
-i, --ignore-case
Ignore case distinctions in both the PATTERN and the input
files. (-i is specified by POSIX.)
-A N
수단 “일치 한 후 N 라인을 인쇄 할 수 있습니다. 그냥 트릭을 유사하게 다음 몇 줄, 얻을 Avinash의 sed
접근 방식을.
답변
man
pres 내부 검색 기능을 사용하고 "s"
찾고있는 키를 입력 한 다음 (-i의 경우) i를 입력 할 수 있습니다.
답변
답변
내가 아는 가장 효율적인 방법은 man 페이지를 검색하는 -i
것 입니다 (이 사이트는 내 코드를 렌더링하지 못하는 것 같습니다. 의미는입니다 <space><space><space>-i
). 그것은 3 개의 공백 (더 많거나 적은 공백이 필요할 수 있음)과 찾고있는 플래그입니다. 그것은 거의 항상 내 경험에서 작동하며 작동하지 않는 경우 변형을 변경할 수 있습니다.
플래그의 실제 문서는 일반적으로 들여 쓰기 때문에 작동합니다. 일반적으로 앞에 공백이 하나뿐이므로 다른 섹션에서 플래그에 대한 다른 언급을 찾지 않습니다.
답변
모든 답변을 통해 괜찮을 수도 있지만 모든 문서가 아닌 문서에만 집중하고 있다고 생각합니다. 예를 들어, -i
grep 문서 의 스위치 를 찾으려면 다음 을 수행하십시오.
info grep Invoking Command-line\ Options Matching\ Control
“grep”에 대한 모든 정보, “일치 제어”에 대한 특정 “명령 줄 옵션”을 “호출”하는 방법을 찾을 수 있습니다. 슬프게도 그것보다 더 깊은하지 않지만이있다 -i
, -y
, --ignore-case
최초 25 선에, 당신이하지 않는 것이 합리적인 일이 모든 방법 아래로 스크롤합니다.
이 솔루션은보다 유연하며 모든 정보 페이지를 검색 할 수 있습니다.
info --apropos=--ignore-case
"(coreutils)join invocation" -- --ignore-case <1>
"(coreutils)uniq invocation" -- --ignore-case <2>
"(coreutils)sort invocation" -- --ignore-case
"(gettext)msggrep Invocation" -- --ignore-case, ‘msggrep’ option
"(grep)Matching Control" -- --ignore-case
( 너무 흔했기 때문에 --ignore-case
대신에 사용해야 -i
했지만 어떤 경우에도 출력을 정보로 처리 할 수 있습니다)
이 경우 정보 페이지 이름과 정확한 섹션이 모두 있습니다. 아, 거의 잊어 버렸습니다 tab. 정보 페이지의 대부분 섹션을 통해 길을 갈 수도 있습니다 .