mv 명령을 사용하여 여러 파일 및 디렉토리의 이름을 바꾸려면 파이프, 루프 등을 사용하여 복잡한 명령을 작성해야 하므로 지루한 프로세스가 될 수 있습니다.
여기서 rename 명령을 사용할 수 있습니다. 이름의 검색 식을 지정된 대체 파일로 바꾸어서 지정된 파일의 이름을 바꿉니다.
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 정규식을 사용하여 여러 파일의 이름을 한 번에 변경할 수 있습니다.
'SW > 리눅스' 카테고리의 다른 글
Linux : NFS Share 마운트 방법, 예제, 명령어 (0) | 2021.12.08 |
---|---|
Linux : Ubuntu 18.04 : DNS 네임 서버 설정 방법, 예제, 명령어 (0) | 2021.12.06 |
Linux : SSH, Rsync로 파일 전송 방법, 예제, 명령어 (0) | 2021.12.04 |
Git : 추적하지 않는 파일(Untracked Files) 삭제 방법, 예제, 명령어 (0) | 2021.12.03 |
Linux : Debian 10 : Pip 설치 방법, 예제, 명령어 (0) | 2021.12.02 |