SW/리눅스

Linux : Rename 명령어, 사용 방법, 예제 (여러 파일 한꺼번에 이름 변경)

얇은생각 2021. 12. 5. 07:30
반응형

mv 명령을 사용하여 여러 파일 및 디렉토리의 이름을 바꾸려면 파이프, 루프 등을 사용하여 복잡한 명령을 작성해야 하므로 지루한 프로세스가 될 수 있습니다.

여기서 rename 명령을 사용할 수 있습니다. 이름의 검색 식을 지정된 대체 파일로 바꾸어서 지정된 파일의 이름을 바꿉니다.

rename 명령을 사용하여 파일을 일괄적으로 이름 변경하는 방법에 대해 설명합니다.

 

 

Linux : Rename 명령어, 사용 방법, 예제 (여러 파일 한꺼번에 이름 변경)

 

 

rename 설치

다른 구문과 기능을 가진 rename 명령어에는 두 가지 버전이 있습니다. rename 명령의 Perl 버전을 사용합니다.

이 버전이 시스템에 설치되어 있지 않으면 Linux 배포의 패키지 관리자를 사용하여 설치하십시오.

 

우분투와 데비안

sudo apt update
sudo apt install rename

 

 

CentOS 및 Fedora

sudo yum install prename

 

 

Arch Linux

yay perl-rename

 

 

 

rename 사용

다음은 이름 변경 명령에 대한 일반적인 구문입니다.

rename [OPTIONS] perlexpr files

 

 

이름 바꾸기 명령은 기본적으로 Perl 스크립트입니다. 지정된 perexpr 정규식에 따라 지정된 파일의 이름을 바꿉니다. Perl 정규식에 대한 내용은 여기에서 확인할 수 있습니다. 

예를 들어, 다음 명령은 모든 .css 파일의 확장자를 .scss로 변경합니다.

rename 's/.css/.scss/' *.css

 

 

명령에 대해 자세히 설명하겠습니다. 

s/search_pattern/replacement/ - 대체 연산자입니다.

.css - 검색 패턴입니다. 이는 대체 연산자의 첫 번째 인수입니다. 이름 바꾸기 명령은 지정된 파일 이름에서 이 패턴을 검색하고, 이 패턴이 발견되면 대체 인수로 바꿉니다.

.scss - 대체 연산자의 두 번째 인수입니다.

*.css - 확장명이 ".css"인 모든 파일입니다. 와일드카드(*)는 0 또는 하나 이상의 문자를 나타내는 데 사용되는 기호입니다.

실제 명령을 실행하고 파일 및 디렉토리의 이름을 바꾸기 전에 "dry run"을 수행하고 이름이 바뀔 파일을 표시하는 -n 옵션을 사용하는 것이 좋습니다.

 

rename -n 's/.css/.scss/' *.css

# rename(file-0.css, file-0.scss)
# rename(file-1.css, file-1.scss)
# rename(file-2.css, file-2.scss)
# rename(file-3.css, file-3.scss)
# rename(file-4.css, file-4.scss)

 

 

기본적으로 이름 변경 명령은 기존 파일을 덮어쓰지 않습니다. 기존 파일을 덮어쓰려면 이름을 변경하는 -f 옵션을 사용합니다.

rename -f 's/.css/.scss/' *.css

 

 

이름이 성공적으로 변경된 파일의 이름을 인쇄하도록 이름을 변경하려면 -v(verbose) 옵션을 사용합니다.

rename -v 's/.css/.scss/' *.css

# file-0.css renamed as file-0.scss
# file-1.css renamed as file-1.scss
# file-2.css renamed as file-2.scss
# file-3.css renamed as file-3.scss
# file-4.css renamed as file-4.scss

 

 

rename 예제

다음은 이름 변경 명령을 사용하는 방법에 대한 몇 가지 일반적인 예입니다.

파일 이름의 공백을 밑줄로 바꿉니다.

rename 'y/ /_/' *

 

 

파일 이름을 소문자로 변환합니다.

rename 'y/A-Z/a-z/' *

 

 

파일 이름을 대문자로 변환합니다.

rename 'y/a-z/A-Z/' *

 

 

파일 이름에서 .bak을 제거합니다.

rename 's/\.bak$//' *.bak

 

 

.jpeg 및 .의 이름을 바꿉니다.JPG 파일 이름을 .jpg로 지정합니다.

rename 's/\.jpe?g$/.jpg/i' *

 

 

rename 명령을 사용하면 Perl 정규식을 사용하여 여러 파일의 이름을 한 번에 변경할 수 있습니다.

반응형