적은 패턴 - [ ] 또는 $로 끝남

적은 패턴 - [ ] 또는 $로 끝남

인용하다bash 내장 명령에 대한 개인 페이지를 얻을 수 있나요?:

bashman () { man bash | less -p "^       $1 "; }

이 기능은 원하는 bash 수동 매개변수 섹션으로 직접 이동합니다.

수동 이름과 수동 매개변수를 즉시 허용하도록 만들고 싶기 때문에 이 기능을 다음과 같이 변경합니다.

function superman () {
    man "$1" | less -p "^[ ]+[-]*$2[ ]"
}

다음과 완벽하게 작동합니다.

$ 슈퍼맨 배쉬 유형

그리고 원하는 매뉴얼 페이지 섹션으로 이동합니다.

여기에 이미지 설명을 입력하세요

하지만 개행 문자로 끝나는 섹션에서는 작동하지 않습니다. 다음과 같이 변경해야 합니다.

function superman () {
    man "$1" | less -p "^[ ]+[-]*$2$"
}

그런 다음 실행하면 매개변수 $ superman gcc Wall로 이동할 수 있습니다 Wall.

여기에 이미지 설명을 입력하세요

[ ]결합 하고 $존재하는 방법은 무엇 입니까 [ ] OR $? 즉"적어도 하나의 공백" 또는 "개행 문자"로 끝납니다..

시도했지만 $ man gcc | less -p "^[ ]+[-]*Wall[ |$]"작동하지 않습니다.

정규식이 OR [ ]이면 해결할 수 없다고 믿기 때문에 섹션의 시작 부분이 아닌 원하지 않는 점프를 허용합니다 .[ ]$

여기에 이미지 설명을 입력하세요

[답변 감사합니다]

최종 양식을 여기에서 공유하고 싶습니다.

function superman () {
    if [[ "$1" == "-I" || "$1" == "-i" ]]; then
        man "$2" | less -I -p "^[ ]+-*$3( |=|,|$|\[)"
    else
        man "$1" | less -p "^[ ]+-*$2( |=|,|$|\[)"
    fi
}

이는 섹션 superman -i gcc wl으로 이동할 때 대소문자를 구분하지 않음을 의미하는 실행 시 작동합니다 . 요구 에서 . require 에서 , 그리고 require 에서-Wl,option-Wl,optiongcc,scaletempomplayer[scalemplayer=

나는 버전에 대해서도 썼습니다 info:

function superinfo () {
    if [[ "$1" == "-I" || "$1" == "-i" ]]; then
        info "$2" | less -I -p "^ *‘*'*-*\** *$3’*( |=|,|$|\[|:|')"
    else
        info "$1" | less -p "^ *‘*'*-*\** *$2’*( |=|,|$|\[|:|')"
    fi
}

superinfo gcc _HPPA, superinfo -i gcc werror, superinfo -i gcc wl, superinfo -i mplayer scaletempo, superinfo -i mplayer stats, superinfo -i ls -f, 및 superinfo -i bash -a(여기서 빼기 기호를 사용하면 큰 차이가 있음) 로 테스트되었습니다 . of 에서 사용되는 유니코드의 LEFT SINGLE QUOTATION MARK .-fls

답변1

나는 당신이 정규식에서 [대괄호 의 의미에 대해 착각하고 있다고 생각합니다 . ]패턴을 참고하세요.

^[ ]+[-]*Wall[ |$]

[ ]은 (단일 공백) 과 정확히 동일하며 [-]와도 정확히 동일합니다 -. 그리고 패턴의 마지막 부분에서는 "either or " [foo|bar]를 의미하지 않습니다 .foobar

당신이 찾고 있는 것은 입니다 ( |$). 이것이 한 가지 또는 다른 것을 일치시키는 구문입니다. (또한 달러 기호 때문에 큰따옴표 대신 작은따옴표나 백슬래시를 사용하여 패턴의 해당 부분을 인용해야 합니다.)

[thing]문자 클래스를 나타냅니다. t, h, i, n또는 와 일치합니다 g.

답변2

[ ]와 를 결합하는 방법은 무엇입니까 $?

([ ]|$)또는( |$)

관련 정보