egrep 및 awk를 사용하여 두 패턴 사이에 텍스트 가져 오기

레드 888

명령을 제외한 모든 인수를 가져 오기 위해 명령의 도움말 파일을 구문 분석하려고합니다.

다음은 도움말 파일의 일부 텍스트입니다.

* --digest:
  Set the digest for fingerprinting (defaults to the digest used when
  signing the cert). Valid values depends on your openssl and openssl ruby
  extension version.

* --debug:
  Enable full debugging.

* --help:
  Print this help message

* --verbose:
  Enable verbosity.

* --version:
  Print the puppet version number

그냥 잡고 싶어요 --argument.

이 명령으로 거의 가져 왔지만 여전히 제외하고 싶은 ":"이 포함되어 있습니다.

puppet cert --help | egrep '^* --(.*):$' | awk '{print $2}'
--all:
--allow-dns-alt-names:
--digest:
--debug:
--help:
--verbose:
--version:

'^* --(.*):$'":"를 포함하는 이유 는와 사이의 모든 항목 '^* --'일치하지 않아야 ':$'합니까?

껍질

^* --사이의 모든 것을 일치시켜야하지 :$않습니까?

사실은 아닙니다. 그룹을 캡처하고 있지만 그룹 만 인쇄하지는 않습니다. -P플래그를 사용하여 Perl 정규식을 사용하고 둘러 보는 것이 좋습니다 . 귀하의 경우에는 이것으로 충분할 수 있습니다.

$ cert --help | grep -Po '^\* \K--\w+'

또한 -o옵션을 사용 하여 전체 행이 아닌 일치하는 내용 만 인쇄했습니다. 이것은 awk 의 사용을 제거합니다 .


초기 생각과 더 많은 둘러보기를 기반으로 한 더 완전한 라인 :

$ cert --help | grep -Po '^\* \K--.*(?=:)'

편집 : mklement0 의 주석과 훌륭한 답변에서 언급했듯이 GNU grep이 필요합니다. 그러나 시스템에 이미 설치되어있는 Perl 자체에서도 동일한 작업을 수행 할 수 있습니다.

$ cert --help | perl -nle 'print $1 if /^\* (--\w+)/'

이것은 루프 내부의 코드 줄처럼 작동합니다. 에 의해 자동으로 생성됩니다 -nle. -n입력보기, -l자동 줄 바꿈 및 -e코드 줄 표시를 위해.

Perl 코드 행은 해당 행이 정규식과 일치하는 경우 첫 번째 캡처 된 그룹을 인쇄합니다. 따라서 원래 솔루션의 아이디어도 결합합니다.

완전한 POSIX 준수 답변을 보려면 이 페이지에서 mklement0답변을 확인 하십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

awk 스크립트로 두 패턴 사이에 텍스트 가져 오기

분류에서Dev

grep -P 및 lookahead / lookbehind를 사용하여 패턴 간 텍스트 가져 오기

분류에서Dev

sed를 사용하여 두 단어 사이에 텍스트 가져 오기

분류에서Dev

GREP를 사용하여 패턴의 마지막 인스턴스 가져 오기

분류에서Dev

importrange를 사용하여 다른 시트에서 텍스트 및 특정 텍스트 수 가져 오기

분류에서Dev

jquery on () 함수 및 순회를 사용하여 값 / 텍스트 가져 오기

분류에서Dev

Python 및 Selenium Webdriver를 사용하여 텍스트 영역에서 텍스트 가져 오기 (값 속성 없음)

분류에서Dev

--run 및 --macro include를 사용하여 가져 오지 않은 패키지 해결 및 인스턴스화

분류에서Dev

XPATH를 사용하여 HTML 페이지에서 텍스트 및 Href 가져 오기 PHP

분류에서Dev

두 개의 변수를 시작 및 끝 매개 변수로 사용하여 텍스트 파일에서 범위 가져 오기

분류에서Dev

XPath를 사용하여 속성 가져 오기 및 값 속성을 사용하여 내부 텍스트 제공

분류에서Dev

egrep을 사용하여 Android 앱의 패키지 이름 가져 오기

분류에서Dev

Regex를 사용하여 URL에서 텍스트 가져 오기

분류에서Dev

Postgres에서 max 및 group by를 사용하여 두 번째 속성 가져 오기

분류에서Dev

awk를 사용하여 패턴 쌍 찾기 및 선 결합

분류에서Dev

R에서 여러 텍스트 파일 가져 오기 및 빈번한 패턴 찾기

분류에서Dev

jQuery를 사용하여 테이블 내 보관 상자 및 텍스트 상자 값 가져 오기

분류에서Dev

jquery-jquery를 사용하여 텍스트에서 URL 감지 및 가져 오기

분류에서Dev

gridPane에서 버튼 가져 오기 및 javaFx를 사용하여 텍스트 변경

분류에서Dev

gridPane에서 버튼 가져 오기 및 javaFx를 사용하여 텍스트 변경

분류에서Dev

Rails Code에서 SimpleCov를 사용하여 MiniTest에서 모든 오류 및 실패한 테스트 케이스 가져 오기

분류에서Dev

명령 프롬프트를 사용하여 두 텍스트 사이에 텍스트를 가져 오는 정규식

분류에서Dev

jquery를 사용하여 부모 "li"텍스트 가져 오기

분류에서Dev

.text ()를 사용하여 부모 텍스트 가져 오기

분류에서Dev

sed를 사용하면 두 패턴 사이에 다른 패턴이 없을 때 텍스트를 추가하는 방법은 무엇입니까?

분류에서Dev

sed, awk, grep 및 friends를 사용하여 패턴을 기반으로 소스 코드에서 메소드 주위에 "래퍼"를 추가하는 방법

분류에서Dev

JButton 및 JTabbedPane을 사용하여 JTextArea에서 텍스트 가져 오기

분류에서Dev

vim 검색 / 바꾸기를 사용하여 텍스트 패턴의 구두점 처리

분류에서Dev

RegEx 두 줄 바꿈 사이에 텍스트 가져 오기

Related 관련 기사

  1. 1

    awk 스크립트로 두 패턴 사이에 텍스트 가져 오기

  2. 2

    grep -P 및 lookahead / lookbehind를 사용하여 패턴 간 텍스트 가져 오기

  3. 3

    sed를 사용하여 두 단어 사이에 텍스트 가져 오기

  4. 4

    GREP를 사용하여 패턴의 마지막 인스턴스 가져 오기

  5. 5

    importrange를 사용하여 다른 시트에서 텍스트 및 특정 텍스트 수 가져 오기

  6. 6

    jquery on () 함수 및 순회를 사용하여 값 / 텍스트 가져 오기

  7. 7

    Python 및 Selenium Webdriver를 사용하여 텍스트 영역에서 텍스트 가져 오기 (값 속성 없음)

  8. 8

    --run 및 --macro include를 사용하여 가져 오지 않은 패키지 해결 및 인스턴스화

  9. 9

    XPATH를 사용하여 HTML 페이지에서 텍스트 및 Href 가져 오기 PHP

  10. 10

    두 개의 변수를 시작 및 끝 매개 변수로 사용하여 텍스트 파일에서 범위 가져 오기

  11. 11

    XPath를 사용하여 속성 가져 오기 및 값 속성을 사용하여 내부 텍스트 제공

  12. 12

    egrep을 사용하여 Android 앱의 패키지 이름 가져 오기

  13. 13

    Regex를 사용하여 URL에서 텍스트 가져 오기

  14. 14

    Postgres에서 max 및 group by를 사용하여 두 번째 속성 가져 오기

  15. 15

    awk를 사용하여 패턴 쌍 찾기 및 선 결합

  16. 16

    R에서 여러 텍스트 파일 가져 오기 및 빈번한 패턴 찾기

  17. 17

    jQuery를 사용하여 테이블 내 보관 상자 및 텍스트 상자 값 가져 오기

  18. 18

    jquery-jquery를 사용하여 텍스트에서 URL 감지 및 가져 오기

  19. 19

    gridPane에서 버튼 가져 오기 및 javaFx를 사용하여 텍스트 변경

  20. 20

    gridPane에서 버튼 가져 오기 및 javaFx를 사용하여 텍스트 변경

  21. 21

    Rails Code에서 SimpleCov를 사용하여 MiniTest에서 모든 오류 및 실패한 테스트 케이스 가져 오기

  22. 22

    명령 프롬프트를 사용하여 두 텍스트 사이에 텍스트를 가져 오는 정규식

  23. 23

    jquery를 사용하여 부모 "li"텍스트 가져 오기

  24. 24

    .text ()를 사용하여 부모 텍스트 가져 오기

  25. 25

    sed를 사용하면 두 패턴 사이에 다른 패턴이 없을 때 텍스트를 추가하는 방법은 무엇입니까?

  26. 26

    sed, awk, grep 및 friends를 사용하여 패턴을 기반으로 소스 코드에서 메소드 주위에 "래퍼"를 추가하는 방법

  27. 27

    JButton 및 JTabbedPane을 사용하여 JTextArea에서 텍스트 가져 오기

  28. 28

    vim 검색 / 바꾸기를 사용하여 텍스트 패턴의 구두점 처리

  29. 29

    RegEx 두 줄 바꿈 사이에 텍스트 가져 오기

뜨겁다태그

보관