zsh globbing 표현식을 올바르게 무효화하는 방법은 무엇입니까?


18

모든 파일을 나열하고 owp로 끝나는 파일을 나열하고 싶습니다.

  ls -l *.(^owp)
  zsh: unknown sort specifier
  ls -l *(^owp) 
  zsh: unknown sort specifier
  ls -l *[^o][^w][^p] # does not work either, missing some files

아무도 효과가 없었습니다. 올바른 방법으로 어떻게해야합니까? 내 .zshrc에 "set extendedglob"이 있습니다.

답변:


27

다음 중 하나를 시도하십시오.

ls -l ^*.owp

(즉, 패턴 이외의 것과 일치 *.owp)

또는:

ls -l *~*.owp

(예 : 패턴과 일치 *하지만 일치하지 않는 항목과 일치 *.owp)

이에 대한 자세한 내용은 man zshexpn=> FILENAME GENERATION=> Glob Operators를 참조하십시오.


추가 된 ()당신이 글로브 연산자를 원하는 반면 글로브의 패턴은, 글로브 예선을위한 것입니다.

무엇입니까 *.(^owp):

  1. 점으로 끝나는 모든 파일 이름 일치
  2. 그들은하지 파이프 경우 (^p), 그리고
  3. (o)" w"=> "알 수없는 정렬 지정자"로 일치 정렬

이에 대한 자세한 내용은 man zshexpn=> FILENAME GENERATION=> Glob Qualifiers를 참조하십시오.


1
^ *. owp가 작업을 수행했습니다. whooa, 무엇을 위해 *. (^ owp) 실제로 :)
math

9
이 기능을 사용할 수없는 사람 extendedglob은 Zsh 에서 옵션 을 설정해야합니다 .
DBedrenko

7
@DBedrenko : 감사합니다! NB : via viasetopt extendedglob
Thomas M

1
나는 발견 글로브 예선에 관심있는 사람들을위한 간단한 요약으로 유용.
wardw
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.