Glob 패턴이란 무엇인가?
Glob 패턴은 와일드카드 패턴을 지정된 패턴과 일치하는 경로, 이름, 목록으로 확장할 수 있는 패턴을 말한다. 초기 버전의 Linux에서 명령 인터프리터는 이러한 문자를 명령에 대한 따옴표가 없는 인수로 확장하는 프로그램에 의존했다.
이 명령은 나중에 라이브러리 함수로 제공되었으며, 현재 쉘을 포함한 수많은 프로그램에서 사용된다
- Node.js
- Go
- Java
- Haskell
- Python
- Ruby
- PHP 등등
별표 Asterisks(*)
가장 일반적으로 사용되는 와일카드이다. 여러 가지 방법으로 사용되지만 보통 문자열의 일부와 같은 여러 문자를 매칭하는데 사용된다.
- * - Linux에서는 슬래시를 제외한 모든 항목과 일치한다. Windows에서는 백슬래시와 슬래시와 일치하지 않는다.
- ** - 현재 디텍터리에 속하는 0개 이상의 디렉터리와 재귀적으로 일치한다.
- *(pattern_list) - 위의 패턴 목록에 패턴이 0개 또는 1개 있는 경우에만 일치한다.
실제 예제로 알아보자
윈도우라면 커맨드라인 혹은 파워쉘을 통해서 직접 예제를 실행해 보면서 비교해 보자.
// 현재 디렉토리에 있는 모든 파일 표시
ls *
// 현재 디렉토리에 속하는 모든 폴더에 있는 모든 파일 표시
ls **/*
// temp 폴더 내에 있는 모든 파일 표시
ls temp/*
// temp 폴더 하위에 속하는 모든 폴더에 있는 모든 파일 표시
ls temp/**/*
확장자 조건을 추가하면 아래와 같이 검색이 가능하다.
// 현재 디렉토리에 있는 모든 .txt 확장자 파일 표시
ls *.txt
// 현재 디렉토리에 속하는 모든 폴더에 있는 모든 .txt 확장자 파일 표시
ls **/*.txt
// temp 폴더 내에 있는 모든 .txt 확장자 파일 표시
ls temp/*.txt
// temp 폴더 하위에 속하는 모든 폴더에 있는 모든 .txt 확장자 파일 표시
ls temp/**/*.txt
참고 사이트
'프로그래밍' 카테고리의 다른 글
PowerShell 에러 Invoke-WebRequest : 기본 연결이 닫혔습니다. SSL/TLS 보안 채널에 대한 트러스트 관계를 설정할 수 없습니다. (0) | 2024.09.27 |
---|---|
PowerShell의 Invoke-WebRequest로 Post Request 보내기 (1) | 2024.09.27 |
DTO란? DTO에 대해서 알아보자 (1) | 2024.09.11 |
유니티(Unity) TextMeshPro input에서 입력받은 text가 뭔가 이상함 (1) | 2024.09.11 |
SSL 인증서의 유효기간은 왜 1년인가? (1) | 2024.09.10 |
댓글