답변1
와일드카드정규 표현식이 아닙니다. 일반적으로 말하면, 쉘은 glob으로 인용되지 않은 명령줄에 입력한 모든 내용을 해석하려고 시도합니다. 쉘은 정규식을 전혀 지원할 필요가 없습니다(비록 더 많은 고급 최신 쉘은 실제로 구문 =~
의 정규식 일치 연산자 와 같은 정규식을 지원하지만 bash
[[
).
이것은 .??*
구체입니다. 이는 리터럴 점 으로 시작하고 .
그 뒤에 두 개의(반드시 동일하지는 않음) 문자 , ??
그 뒤에 동등한 정규식 [^/]*
, 즉 가 아닌 0개 이상의 문자가 오는 파일 이름과 일치합니다 /
.
쉘 경로 이름 확장("globbing"의 전체 이름)에 대한 자세한 내용은 다음을 참조하세요.POSIX 사양.
답변2
와일드카드 .??*
(아니요정규식은 모양과 관계없이 .
마침표( )로 시작하고 그 뒤에 두 개의 단일 문자( ??
)와 임의 개수(0개 이상) *
의 다른 문자( )가 오는 파일 이름으로 변환됩니다.
어쩌면 이 페이지에서파일 이름의 와일드카드 문자도움이 될거야.
답변3
다른 답변에 추가하려면 Single은 ?
단일 문자 파일 이름으로 변환되고 ??
두 문자만 포함된 파일 이름과 일치합니다.
[root@mercy testdir_2]# ls
ion it r
[root@mercy testdir_2]# ls ?
r
[root@mercy testdir_2]# ls ??
it
[root@mercy 1 testdir_2]# ls ???
ion
[root@mercy testdir_2]#