글로브 (프로그래밍)

컴퓨터 프로그래밍에서, 특히 유닉스 계열 환경에서 글로브(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

같이 보기

편집

각주

편집
  1. “First Edition Unix manual 'Miscellaneous' section (PDF)” (PDF). 2000년 8월 29일에 원본 문서 (PDF)에서 보존된 문서. 2011년 5월 11일에 확인함. 
  2. 《1st Edition UNIX》, code.google.com, src/cmd/glob.c, 2013년 5월 13일에 원본 문서에서 보존된 문서