Linuxpia/리눅스 사용 팁

[리눅스 팁] 파일 패턴 매칭에 대하여

Linuxpia4U 2024. 3. 23. 03:33
반응형

파일 패턴 매칭

파일명 패턴 매칭은 리눅스 및 유닉스 셸에서 파일과 디렉터리(디렉토리)를 선택할 때 사용되는 기법입니다. 이는 특정 규칙이나 패턴에 따라 파일명을 일치시키기 위해 사용되며, 주로 파일을 검색하거나 명령어에 파일명을 인자로 전달할 때 활용됩니다. 셸은 이러한 패턴 매칭을 통해 사용자가 복잡한 파일명을 일일이 지정하지 않고도, 특정 조건에 맞는 파일이나 디렉터리 그룹을 손쉽게 선택할 수 있게 해 줍니다.

주요 패턴 매칭 기호

  • * (Asterisk): 0개 이상의 문자와 일치합니다. 예를 들어, *.txt는 확장자가 .txt인 모든 파일과 일치합니다.
  • ? (Question Mark): 정확히 한 개의 문자와 일치합니다. 예를 들어, ?.txt는 한 개의 문자 다음에 .txt가 오는 파일명과 일치합니다.
  • [] (Square Brackets): 대괄호 안에 지정된 문자 중 하나와 일치하는 한 개의 문자와 일치합니다. 예를 들어, [abc].txta.txt, b.txt, c.txt와 일치합니다. 범위도 지정할 수 있으므로, [a-z].txt는 알파벳 소문자 하나와 .txt 확장자를 가진 모든 파일과 일치합니다.
  • {} (Curly Braces): 중괄호를 사용하여 콤마로 구분된 여러 패턴 중 하나와 일치합니다. 예를 들어, {a,b,c}.txta.txt, b.txt, c.txt와 일치합니다. 이 기능은 일부 셸에서 지원되며, brace expansion이라고 합니다.

caption: Curly Braces를 이용하여 패턴 찾기

예시

  • *.py: 모든 파이썬 파일을 찾습니다.
  • data?.csv: data1.csv, data2.csv 등과 같이, data 다음에 정확히 하나의 문자가 오고 .csv로 끝나는 파일을 찾습니다.
  • [a-zA-Z]*.txt: 알파벳으로 시작하는 모든 텍스트 파일을 찾습니다.
  • backup_{jan,feb,mar}.tar.gz: backup_jan.tar.gz, backup_feb.tar.gz, backup_mar.tar.gz와 같이 지정된 목록 중 하나와 일치하는 파일명을 찾습니다.

정리

파일명 패턴 매칭은 리눅스 및 유닉스 시스템에서 파일을 효과적으로 관리하고, 필요한 파일을 빠르게 찾기 위해 사용되는 유용한 기능입니다. 이를 통해 사용자는 복잡한 파일명이나 대량의 파일 중에서도 특정 패턴에 일치하는 파일을 쉽게 식별하고 작업할 수 있습니다. Asterisk, Question Mark, Square Brackets, 그리고 Curly Braces와 같은 패턴 매칭 기호를 사용하여 다양한 검색 조건을 지정할 수 있습니다.

반응형