GLOB

개요

GLOB는 컴퓨터 프로그래밍에서 와일드카드(*)를 이용해 문자열 패턴을 매칭하는 패턴을 말한다.
global command의 약자라고 하는데, 아무튼 초창기에 만들어진 이 표현이 굳어져서 아직도 글롭이라고 부른다.

cat ~/project/*

이런 식으로 쉘에서 흔히 사용하는 와일드카드가 바로 글롭 패턴이라고 보면 된다.
애초에 와일드카드라는 개념 자체가 이 글롭이랑 같이 형식화됐다고 봐도 무방하다.

크게 정리할 만한 내용은 아닌데, 다른 문서에서 종종 glob을 언급하다 보니 그냥 문서화했다.
이런 비슷한 문자열 매칭 방식 중 하나가 바로 REGEX, 정규식이다.

문법

글롭이란 패턴을 구현하는 방식은 언어마다 환경마다 다를 때도 있다.
그래도 대충 전체적으로 따르는 비슷한 방식은 있다.

*   - 임의의 문자열 매칭
**  - 디렉토리, 그 하위 파일까지 재귀적으로 매칭
?   - 임의의 한 문자 매칭
[ab]  - 괄호 속 한 문자랑 매칭
{ab,cd}  - 괄호 속 문자열과 매칭

이 정도의 규칙만 알면 된다.
글롭의 장점은 굉장히 간편하다는 것이다.

이를 기반으로 아래 예시를 해석해보자.

public/**/*.{htm,html}

이건 현재 파일을 매칭하는 문자열이다.
이때 public 디렉토리 하위의 파일을 매칭하는데, 모든 하위 디렉토리의 파일까지 재귀적으로 매칭 대상으로 삼는다.
파일의 이름은 어떤 게 와도 상관이 없으나, 확장자는 htm, 또는 html이어야 한다.

관련 문서

이름 noteType created
REGEX knowledge 2025-05-05

참고

https://www.daleseo.com/glob-patterns/