Linux

[Linux] 패턴을 이용한 파일 선택 방법

studioesso 2025. 4. 29. 18:46

 

특정 패턴에 맞게 디렉토리 생성하기


 

예시1

mkdir -p domain/www.{domain1,domain2,domain3}.com/{html,css}

 

domain/

ㄴ www.domain1.com 

    ㄴ html

    ㄴcss

 www.domain2.com

    ㄴ html

    ㄴcss

 www.domain3.com

    ㄴ html

    ㄴcss

 

주의 사항 : {html, css}처럼 콤마 뒤를 띄우면 안됨.

 

예시2

mkdir -p student{1..10}

 

현재 디렉토리에 student1 ~ student10까지 디렉토리가 생성된다.

 

보통 컴퓨터에서 범위 표현할 때 반개구간을 쓰니까 1~9가 생성될 거라고 은연중에 생각했는데, 명시한대로 1~10까지 생성된다.

 

 

특정 패턴에 맞게 파일 생성하기


 

예시

touch {main,customer,admin}.html

 

main.html

customer.html

admin.html

 

파일 생성

 

 

특정 패턴에 맞는 파일 이름 한번에 변경하기


 

파일 이름 변경 시 mv 명령을 주로 사용하는데, 패턴 일치를 이용해 파일 이름을 변경하기 위해 rename 명령어를 사용한다.

 

예시

rename .html .css *

 

main.html -> main.css

customer.html -> customer.css

admin.html -> admin.css

 

이렇게 일괄 수정이 가능하다. 와일드카드(*)를 활용해서 더 정교하게 바꾸고자 하는 집합을 선택할 수 있다.

 

 

접미사를 붙여서 설정 파일 복사하기


리눅스에서는 확장자라는 개념이 없어서 접미사라고 표현했다.

설정 파일 같은거 백업 할 때 구분하려고, .bak을 주로 붙인다.

 

예시

cp myconf{,.bak}

 

콤마는 오타가 아니다. 꼭 콤마를 적어주어야 한다.

 

만약 백업한 날짜까지 표기해서 파일 이름을 붙이고 싶다면 아래처럼 가능하다.

cp myconf{,.bak.$(date +%F)}

 

 

메타 문자


 

* : 0개 이상의 모든 문자열

? : 단일 모든 문자

[[:alpha:]] : 알파벳 문자

[[:lower:]] : 소문자

[[:upper:]] : 대문자

[[:alnum:]] : 알파벳 or 숫자

[[:digit:]] : 0~9 사이의 한 자리 숫자

[[:space:]] : space, 탭, 줄바꿈, 캐리지 리턴 등 단일 공백 문자