Skip to content

Glob (programming)

Globs은 오래전부터 리눅스 운영체제에서 한 번에 여러 개의 파일을 찾을 때 사용해온 패턴 매칭 기법.

문법 종류

?
문자의 종류와 상관없이 정확히 한 글자와 매칭.
**
0개 이상의 하위 디렉토리와 매칭.
*
길이와 상관없이 어떤 문자열과도 부합.
{}
동시에 여러 문자열을 매칭.
예를 들면 **/*.{jpg,JPG} 같이
[]
문자의 범위를 기준으로 파일 이름을 매칭
예를 들어, 이름에 모음 소문자를 포함하는 파일을 검색하고 싶다면 **/*[aeiou]*이라는 패턴을 사용할 수 있습니다.
  • - 기호를 두 문자 사이에 넣으면 두 문자 사이에 있는 모든 문자가 매칭에 사용됩니다. 예를 들어, 대문자로 이름이 시작하는 파일을 검색하고 싶다면 **/[A-Z]*이라는 패턴을 사용할 수 있습니다.
  • ! 기호를 [] 괄호안 첫 번째 글자에 붙이면 그 뒤에 나오는 문자를 매칭에서 제외합니다. 예를 들어, **/[!A-Z]* 패턴은 대문자로 이름이 시작하지 않는 파일만을 검색해줍니다.
()
?, * 바로 뒤에 () 괄호를 사용하면 와일드카드 매칭 시 어느 정도 선택지를 제한해줄 수 있습니다.
예를 들어, ?(ab|cd)라는 패턴은 ab 또는 cd 와 매칭되며 빈문자열과도 매칭됩니다.
반면에 *(ab|cd)라는 패턴은 ab, abab, cd, cdcd, abcd, cdab, ababcdabcd 등 다양한 문자열과 매칭될 수 있습니다.

Favorite site