접두사와 일치하는 변수 이름을 확장하는 zsh 구문

LL3

TL; DR :zsh Ksh / Bash의 "${!varnamepfx@}"확장 과 동등한 것이 있습니까?

예를 들어 다음과 같은 변수가있는 경우 set:

[...]
foo='random value'
bar=$'amazing\n value'
baz='that other value'
[...]

그런 다음 printf -- %s\\n "${!ba@}"Bash에서 요청하면 다음을 얻습니다.

bar
baz

나는 정독했습니다 zsh매뉴얼을 하지만 수 없었던 것이 아무것도 찾을 수 위의 구문처럼 직접합니다. 내가 의지 할 수있는 최선의 방법은 다음과 같은 중첩 확장입니다.

(위의 예)

printf -- %s\\n "${(M)${${(f)$(set)}[@]%%=*}[@]:#ba*}"

작업을 안정적으로 수행하는 것처럼 보이지만 (적어도 MacOS Catalina의 zsh v5.3에서는) 상당히 복잡해 보이며 $(set)거기에 있는 명령 대체가 실제로 프로세스를 생성 하는지 아니면 zsh.

물론, 저는 지금까지 Completion System을 통해 그 일을 완료하는 것을 배제했습니다 (따라서 조사하지 않았습니다).

스테판 샤젤 라스

$parameter특수 연관 배열 의 키와 일치하는 또 다른 옵션 I 아래 첨자 플래그 를 사용하는 것입니다 .

$ print -rC1 - $parameters[(I)ba*]
bar
baz

이는 목록 / 배열을 생성 하는 연관 배열 연산자이고 @ Gille 's ${(kM)parameters:#ba*}연관 배열의 키에 적용되는 목록 / 배열 연산자목록 / 배열도 생성합니다. 이 경우 최종 결과는 본질적으로 동일합니다.

당신은 단지 하나를 기억하고있는 경우 ${(M)array:#pattern}어느 grep것이 더 일반적이다로 -for-배열은 더 유용 하나입니다. 배열 첨자 플래그 와 비교할 때 할 수없는 일은 키에서 일치하고 해당 값을 반환하거나 값에서 일치하고 해당 키를 반환하는 것입니다.

다음과 같이 두 가지를 결합 할 수 있습니다.

$ print -rC1 - ${(Mk)parameters[(R)array*]:#pa*}
path
patchars

여기로 시작하는 배열의 이름으로 돌아갑니다 pa( $parameters에 대해 일치 array* 에 대한을 pa*).

물론, 당신의 모든 것을 할 수 zsh의 성찰 변수를 ( $aliases, $commands, $functions, $builtins, $modules, $history...)

그들 중 일부를 들어, 당신은 또한 쿼리 사용 할 수 있습니다 -m pattern상응하는 내장의 (일치) 옵션을 ( whence -m, alias -m, autoload -m, fc -m...)하지만, 대한 등 bashcompgen, 당신은 안정적으로 사후 처리는 그것의 그들의 출력하면서 라인 기반 수 없습니다 그들이보고하는 것 중 일부는 개행 문자를 포함 할 수 있습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

접두사와 일치하는 변수 이름을 확장하는 zsh 구문

분류에서Dev

zsh 완성의 접두사와 일치하지 않는 자동 완성 제안을 제공하는 방법

분류에서Dev

zsh : print 문에서 파일 확장 작업을 수행하는 방법

분류에서Dev

목록을 접두사와 접미사가있는 문자열로 변환

분류에서Dev

이메일을 사용하지 않는 구문 오류 수정 장치

분류에서Dev

산술 식에서 변수 확장을 위해 간접 확장을 사용하는 두 가지 예 이해

분류에서Dev

단일 데이터 프레임을 데이터 프레임 목록으로 변환 (열 이름을 접두사와 접미사로 구문 분석)

분류에서Dev

문자열을 추가하는 방법 (접두사와 접미사 모두)

분류에서Dev

사용자에게 주어진 접두사와 일치하는 문자열 벡터에서 첫 번째 단어를 어떻게 찾을 수 있습니까?

분류에서Dev

접두사가있는 문자열을 제외한 모든 문자와 일치하는 RegEx

분류에서Dev

sql : 행의 값을 접두사와 접미사가있는 변수로 변환하는 방법

분류에서Dev

파이썬은 접두사와 접미사가 일치하는 경우에만 re.sub를 사용하여 문자열을 바꿉니다.

분류에서Dev

와일드 카드 확장을 사용하여 zsh의 모든 변수를 에코

분류에서Dev

함수 또는 확장 메서드를 linq와 결합하여 별칭을 일치시키는 문제

분류에서Dev

변수에 저장된 파일 이름과 함께 head를 사용하는 구문

분류에서Dev

zsh sed 특수 문자로 변수를 확장하고 유지

분류에서Dev

구문 분석, 입력이 objectId와 일치하는지 확인

분류에서Dev

구문 분석, 입력이 objectId와 일치하는지 확인

분류에서Dev

Antlr4는 문자 접두사와 일치하도록 공백을 비활성화합니다.

분류에서Dev

루핑하는 동안 변수에 저장된 많은 사용자 이름의 정확한 일치 찾기

분류에서Dev

와일드 카드와 함께 rename 명령을 사용하여 파일 이름 접두사를 변경할 수 있습니까?

분류에서Dev

접두사와 접미사가있는 일치 문자열은 Logstash grok 패턴을 사용합니다.

분류에서Dev

Char 변수와 일치하는 문자열 확인

분류에서Dev

파일 이름 조작을 위해 bash 쉘 매개 변수 확장을 사용하는 방법

분류에서Dev

Matlab : 변수 이름을 인덱스로 사용하는 구조

분류에서Dev

변수 이름을 사용하지 않는 구조체 참조

분류에서Dev

어떻게 접두사와 접미사의 코 틀린와 문자열 목록 <문자열> 변환하는

분류에서Dev

이름 배열을 반복하고 키 누르기 값이 이름의 문자와 일치하는지 확인

분류에서Dev

SAS에서 접두사를 다른 접두사로 대체하여 변수 이름을 동적으로 변경

Related 관련 기사

  1. 1

    접두사와 일치하는 변수 이름을 확장하는 zsh 구문

  2. 2

    zsh 완성의 접두사와 일치하지 않는 자동 완성 제안을 제공하는 방법

  3. 3

    zsh : print 문에서 파일 확장 작업을 수행하는 방법

  4. 4

    목록을 접두사와 접미사가있는 문자열로 변환

  5. 5

    이메일을 사용하지 않는 구문 오류 수정 장치

  6. 6

    산술 식에서 변수 확장을 위해 간접 확장을 사용하는 두 가지 예 이해

  7. 7

    단일 데이터 프레임을 데이터 프레임 목록으로 변환 (열 이름을 접두사와 접미사로 구문 분석)

  8. 8

    문자열을 추가하는 방법 (접두사와 접미사 모두)

  9. 9

    사용자에게 주어진 접두사와 일치하는 문자열 벡터에서 첫 번째 단어를 어떻게 찾을 수 있습니까?

  10. 10

    접두사가있는 문자열을 제외한 모든 문자와 일치하는 RegEx

  11. 11

    sql : 행의 값을 접두사와 접미사가있는 변수로 변환하는 방법

  12. 12

    파이썬은 접두사와 접미사가 일치하는 경우에만 re.sub를 사용하여 문자열을 바꿉니다.

  13. 13

    와일드 카드 확장을 사용하여 zsh의 모든 변수를 에코

  14. 14

    함수 또는 확장 메서드를 linq와 결합하여 별칭을 일치시키는 문제

  15. 15

    변수에 저장된 파일 이름과 함께 head를 사용하는 구문

  16. 16

    zsh sed 특수 문자로 변수를 확장하고 유지

  17. 17

    구문 분석, 입력이 objectId와 일치하는지 확인

  18. 18

    구문 분석, 입력이 objectId와 일치하는지 확인

  19. 19

    Antlr4는 문자 접두사와 일치하도록 공백을 비활성화합니다.

  20. 20

    루핑하는 동안 변수에 저장된 많은 사용자 이름의 정확한 일치 찾기

  21. 21

    와일드 카드와 함께 rename 명령을 사용하여 파일 이름 접두사를 변경할 수 있습니까?

  22. 22

    접두사와 접미사가있는 일치 문자열은 Logstash grok 패턴을 사용합니다.

  23. 23

    Char 변수와 일치하는 문자열 확인

  24. 24

    파일 이름 조작을 위해 bash 쉘 매개 변수 확장을 사용하는 방법

  25. 25

    Matlab : 변수 이름을 인덱스로 사용하는 구조

  26. 26

    변수 이름을 사용하지 않는 구조체 참조

  27. 27

    어떻게 접두사와 접미사의 코 틀린와 문자열 목록 <문자열> 변환하는

  28. 28

    이름 배열을 반복하고 키 누르기 값이 이름의 문자와 일치하는지 확인

  29. 29

    SAS에서 접두사를 다른 접두사로 대체하여 변수 이름을 동적으로 변경

뜨겁다태그

보관