개요
glob이란,
- 파일 이름의 집합을 wildcard characters 로 명시하는 패턴을 말한다.
- 예시로 Unix Bash shell 에서
mv *.txt textfiles/명령어를 입력하면,.txt로 끝나는 모든 파일을textfiles디렉토리로 이동시킨다. *은/를 제외한 모든 문자열을 뜻한다.?는 1 글자의 어떤 문자를 뜻한다.
기원
벨 연구소의 유닉스 최초버전에서 비롯되었다. global 을 줄여서 glob 이라고 표현한 것이다. 벨 연구소에서 개발한 B 언어 에서 비롯되었다. 이전 유닉스에서는 숨김 파일을 보고 싶을 때 숨김 파일 앞에 . 이 들어간다는 점을 이용해 .* 와 같은 형식으로 많이 이용했었다.
와일드카드별 기능
*: 길이에 상관없이 모든 문자열을 매칭한다.- ex)
La*라고 적으면,Lawyer,Law둘 다 매칭된다.
- ex)
?: 어떤 글자든 1글자만 매칭된다.- ex)
La?라고 적으면,Law만 매칭된다.Lawyer는 매칭되지 않는다.
- ex)
[abc]: 괄호 안에 있는 글자 중에 있다면 매칭된다.- ex)
[LW]ow라고 적으면,Wow도 매칭되고,Low도 매칭된다.
- ex)
[a-z]:x-x범위 내에 있는 글자면 매칭된다.- ex)
Letter[0-9]라고 적으면,Letter0~Letter9까지 매칭된다.Letter10은 매칭되지 않는다.
- ex)
[!abc]: 괄호에 있는 문자가 없어야 매칭된다.- ex)
[!C]at라고 적으면,Bat은 매칭이 되고,Cat은 매칭이 안된다.
- ex)
[!a-z]:x-x범위 내에 있는 글자가 없어야 매칭된다.- ex)
Letter[!3-5]라고 적으면,Letter1은 매칭되고,Letter3은 매칭되지 않는다.
- ex)
SQL 에서의 사용
SQL 에서는 LIKE 기호가 똑같은 역할을 하는데, 같은 역할을 하는 기호가 조금 바뀐다.
?의 역할은_가 한다.*의 역할은%가 한다.
레퍼런스
'리눅스와 유닉스' 카테고리의 다른 글
| Windows WSL 에서 C 언어 코딩 환경 세팅하기 (0) | 2023.06.08 |
|---|---|
| WSL 에서 apt-get install 을 이용한 패키지 설치가 동작하지 않을 때 (0) | 2023.06.07 |
| WSL 루트 (ROOT) 계정 패스워드 분실 (까먹었을 때) (0) | 2023.06.05 |
| tty 란 무엇인가? (0) | 2022.06.04 |
| 리눅스의 파이프라인 명령(|)과 용례에 대해서 알아보자 (0) | 2022.06.03 |