Linux Commandline: 다중이름변경도구 rename

GUI 라면, 그 이름도 유명한 Total Commander, 그의 추종자(?) Double Commander 를 사용하면 간단하지만, Commandline 으로 하기엔 딱히 떠오르는게 없다.

그도 그럴 것이, 이 작업을 그리 자주하는게 아니고, 더더군다나 CLI 로는 더더욱 할 일이 적기 때문이다.

그럼에도, 이에 관한 글을 몇번이나 썼었다.

이게 필요한 때는, 우분투 판올림을 했을 때, 기존 파일들을 새 판에 복사하고 난 뒤 정리하는 작업에선데, 2년에 한번 하는 일이라 기억하고 있을 리가 만무하다고나 할까.

오늘을 기회로 다시 한번 기억해보는 시간이 되기 바라며..


이거다 저거다 마시고, 딱 하나 rename 만을 기억하면 되겠다.
이 프로그램은 우분투엔 기본 설치는 돼 있지 않다.

sudo apt install rename

rename.ul 이란 프로그램은 기본으로 찾을 수 있지만, 이건 Regex 를 지원하는지 아닌지 확실하질 않다. rename 은 Perl Regex 를 지원하므로, 좀 더 사용하기가 편하다.

** Man Page 수정
예전 글에서 Man Page 오류 때문에 고생했던 얘기가 써 있는데, 지금 확인해보니 제대로 고쳐져 있다.

예전 : rename ‘s/\e.bak$//’ *.bak
현재 : rename ‘s/.bak$//’ *.bak

쓸데없이 \e 가 들어가 있어서 한참을 헤맸었다. (고 쓰여있다. 기억은 안난다. ㅎㅎ)

사용법

sed 문법과 유사하다.

#문법
rename 's/찾을말/바꿀말/' 파일

#용례
rename -n 's/bionic/focal/' *bionic.list

-n 은, 실제로 바꾸지는 않고 미리 결과를 보여주기만 한다.

rename -n 's/bionic/focal/' *bionic.list
rename(cybermax-dexter-ubuntu-sdl2-backport-bionic.list, cybermax-dexter-ubuntu-sdl2-backport-focal.list)
rename(deluge-team-ubuntu-stable-bionic.list, deluge-team-ubuntu-stable-focal.list)
rename(graphics-drivers-ubuntu-ppa-bionic.list, graphics-drivers-ubuntu-ppa-focal.list)
rename(libreoffice-ubuntu-ppa-bionic.list, libreoffice-ubuntu-ppa-focal.list)
rename(mc3man-ubuntu-mpv-tests-bionic.list, mc3man-ubuntu-mpv-tests-focal.list)
rename(papirus-ubuntu-papirus-bionic.list, papirus-ubuntu-papirus-focal.list)

파일명을 잘못 바꾸면 짜증나는 오류를 야기할 수도 있으므로, 미리 확인해보고 작업해야만 한다.

안녕하세요. 글 남겨주셔서 고맙습니다.