GLOB
개요
GLOB는 컴퓨터 프로그래밍에서 와일드카드(*)를 이용해 문자열 패턴을 매칭하는 패턴을 말한다.
global command의 약자라고 하는데, 아무튼 초창기에 만들어진 이 표현이 굳어져서 아직도 글롭이라고 부른다.
cat ~/project/*
이런 식으로 쉘에서 흔히 사용하는 와일드카드가 바로 글롭 패턴이라고 보면 된다.
애초에 와일드카드라는 개념 자체가 이 글롭이랑 같이 형식화됐다고 봐도 무방하다.
크게 정리할 만한 내용은 아닌데, 다른 문서에서 종종 glob을 언급하다 보니 그냥 문서화했다.
이런 비슷한 문자열 매칭 방식 중 하나가 바로 REGEX, 정규식이다.
문법
글롭이란 패턴을 구현하는 방식은 언어마다 환경마다 다를 때도 있다.
그래도 대충 전체적으로 따르는 비슷한 방식은 있다.
* - 임의의 문자열 매칭
** - 디렉토리, 그 하위 파일까지 재귀적으로 매칭
? - 임의의 한 문자 매칭
[ab] - 괄호 속 한 문자랑 매칭
{ab,cd} - 괄호 속 문자열과 매칭
이 정도의 규칙만 알면 된다.
글롭의 장점은 굉장히 간편하다는 것이다.
이를 기반으로 아래 예시를 해석해보자.
public/**/*.{htm,html}
이건 현재 파일을 매칭하는 문자열이다.
이때 public 디렉토리 하위의 파일을 매칭하는데, 모든 하위 디렉토리의 파일까지 재귀적으로 매칭 대상으로 삼는다.
파일의 이름은 어떤 게 와도 상관이 없으나, 확장자는 htm, 또는 html이어야 한다.
관련 문서
이름 | noteType | created |
---|---|---|
REGEX | knowledge | 2025-05-05 |