답변:
*\:2,*T
나열 할 파일의 glob 패턴입니다. 그것을 이해하려면 몇 가지 사항을 기억해야합니다.
:
껍질에서 탈출하여 \:
따라서 *\:2,*T
예를 들어TranscationNumber:2,EventType:XYT
편집하다
코멘트에서, 탈출의 필요성 (또는하지 않음) :
그것입니다 : 몇 마디를 필요로 하지 탈출 반드시 필요한 :
기호 만하면 자동 완성 자체를 제시 비난.
:
탈출해야합니까?
:
탈출 할 필요가 없습니다. 그것은 글로브 패턴이 아닌 특정 상황 (명령으로 사용될 때)에서만 특별합니다. 은 \:
동일합니다 :
탈출은 차이가 없습니다.
unset var; : ${var:=x}; echo $var
:
은 COMP_WORDBREAKS
환경 변수 의 기본값의 일부입니다 . Bash 자동 완성에서 이러한 문자는 읽기 라인 라이브러리에서 단어 구분 기호로 사용되며 콜론을 포함하는 파일 이름은 물론 단일 단어 여야합니다. bash 자동 완성의 이유는 콜론을 빠져
와일드 카드 패턴과 일치하는 모든 파일을 나열하십시오. *:2,*T
와일드 카드 는 파일 / 디렉토리 이름에 있어야하는 문자 ( *
모든 가능한 문자 수)와 일치
:2,
합니다.
콜론 :
은 이스케이프해야하는 특수 문자이므로의 형식입니다 \:2,
.
파일 / 디렉토리 이름은로 끝나야합니다 T
.
일치하는 파일 이름은
:2,T
a:2,T
a:2,bT
abbY-$fafaf:2,<hskjhsgdfhjk>T
COMP_WORDBREAK
기본적으로 설정되는 환경 값 목록에 포함되어 있기 때문에 파일 / 디렉토리 이름 패턴에서 콜론을 자동으로 이스케이프합니다 . -실제로 실제로 특수 문자는 아니지만 명령 줄에서 자동 완성을 사용하고 파일 이름을 콜론과 일치 시키거나 필요로 할 때 이스케이프해야합니다.
다른 사람들이 지적했듯이 이것은 긴 형식,을 포함 :2
하고 끝나는 파일로 나열 됩니다.T
Maildir 폴더에서 삭제 (휴지) 된 파일을 검색하는 것처럼 보입니다. 그러나 견고성 *
을 위해 결국 에는 다른 것이 있어야했습니다 . 나중에 알파벳 위치를 가진 새로운 플래그가 추가 될 수 있으며, 예를 들어 Dovecot는 파일 크기가 끝에 다른 필드를 추가합니다.