글로브 (프로그래밍)
외관
컴퓨터 프로그래밍에서, 특히 유닉스 계열 환경에서 글로브(glob) 패턴은 와일드카드 문자로 여러 파일 이름의 집합을 지정한다. 이를테면 유닉스 명령어 mv *.txt textfiles/은 현재 디렉터리의 .txt로 끝나는 이름의 모든 파일을 textfiles 디렉터리로 이동(mv)시킨다. 여기에서 *는 모든 문자열을 가리키는 와일드카드이고 *.txt는 글로브 패턴이다. 그 밖의 일반적인 와일드카드는 하나의 문자를 가리키는 물음표(?)이다.
기원
[편집]유닉스 초기 버전(제1~6판, 1969~75년)의 명령 인터프리터들은 명령어에 대해 인용 부호로 감싸지 않은 인수에 와일드카드 문자를 확장시키기 위해 별도의 프로그램에 의존하였다.: /etc/glob.[1] 해당 프로그램은 확장을 수행하여 실행할 명령의 파일 경로의 확장된 목록을 제공하였다. 이 이름은 글로벌 커맨드(global command)의 준말이다.[2] 나중에 이 기능은 셸과 같은 프로그램에 쓰이는 glob()라는 라이브러리 함수로 제공되었다.
문법
[편집]가장 일반적인 와일드카드로는 *, ?, […]가 있다.
| 와일드카드 | 설명 | 예 | 일치 | 미일치 |
|---|---|---|---|---|
* |
없는 것을 포함한 어떠한 수의 문자라도 일치 | Law* |
Law, Laws, 또는 Lawyer |
GrokLaw, La, 또는 aw |
*Law* |
Law, GrokLaw, 또는 Lawyer. |
La, 또는 aw | ||
? |
어떠한 하나의 문자를 일치 | ?at |
Cat, cat, Bat 또는 bat |
at |
[abc] |
대괄호 안의 하나의 문자를 일치 | [CB]at |
Cat 또는 Bat |
cat 또는 bat |
[a-z] |
대괄호 안의 범위에 속하는 하나의 문자를 일치 (로케일에 따라 다름) | Letter[0-9] |
Letter0, Letter1, Letter2 ... Letter9 |
Letters, Letter 또는 Letter10 |
같이 보기
[편집]각주
[편집]- ↑ “First Edition Unix manual 'Miscellaneous' section (PDF)” (PDF). 2000년 8월 29일에 원본 문서 (PDF)에서 보존된 문서. 2011년 5월 11일에 확인함.
- ↑ 《1st Edition UNIX》, code.google.com, src/cmd/glob.c, 2013년 5월 13일에 원본 문서에서 보존된 문서