글로브 (프로그래밍)
컴퓨터 프로그래밍에서, 특히 유닉스 계열 환경에서 글로브(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일에 원본 문서에서 보존된 문서