개요
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 |