プログラミングとかLinuxとかの備忘録

プログラミング、Linuxでハマった箇所や環境構築のメモ

renameコマンドでファイルをリネームする

スポンサーリンク

Ubunturenameコマンドが正規表現を使ってファイルをリネームするとは違っていたのでメモ

vild.hatenablog.com

使い方

$ rename <expression> <replacement> <file>...

なので

拡張子変更

$ ls
aaa.sh  abc.sh  sh_script.txt

$ rename .sh .txt *.sh
$ ls
aaa.txt  abc.txt  sh_script.txt

最初の1つしか置換されないので注意が必要

$ ls
aaa.sh.sh

$ rename .sh .txt aaa.sh.sh

$ ls
aaa.txt.sh

文字列の削除

空の文字列('')で置換する

$ ls
aaa_bak.sh

$ rename _bak '' aaa_bak.sh

$ ls
aaa.sh

prefixの追加

正規表現が使えないのでファイル名にprefixを追加したい場合はlsを用いて

$ ls
aaa.sh  aaa_sh.txt
$ ls /path/to/dir/*
/path/to/dir/aaa.sh  /path/to/dir/aaa_sh.txt

$ rename /path/to/dir/ /path/to/dir/prefix_ $(ls /path/to/dir/*)

$ ls /path/to/dir/
/path/to/dir/prefix_aaa.sh  /path/to/dir/prefix_aaa_sh.txt

するしかない??