리눅스 사용자라면 대부분 별표 또는 애스터리스크(asterisk)라고 부르는 기호(*)를 알고 있을 것이다. 이 기호는 파일이나 디렉터리 경로에서 임의의 글자의 0개 또는 그 이상 개수로 이뤄진 연속열과 일치하는 것으로 간주된다(점(.)으로 시작하는 이름은 해당되지 않는다).1
$ grep Linux chapter*
이때 우리 눈에 보이지 않는 곳에서는 (grep 명령이 아니라) 셸이 패턴 chapter*를 파일명이 패턴과 일치하는 100개의 파일명으로 교체한다. grep이 실행되는 것은 그다음이다.
애스터리스크 기호 외에 물음표(?) 기호를 알고 있는 사람도 많을 것이다. 물음표 기호는 임의의 한 글자와 일치하는 것으로 간주된다(역시 점으로 시작하는 이름은 해당되지 않는다). 예를 들어 chapter1부터 chapter9까지의 파일에서만 ‘Linux’라는 단어를 찾고 싶다면, 물음표를 사용해 파일명에 숫자가 한 자리인 파일만을 대상으로 삼을 수 있다.
$ grep Linux chapter?
물음표를 두 개 사용하면 chapter10부터 chapter99까지의 파일이 대상이 된다.
$ grep Linux chapter??