rename man page
rename — rename files
- Rename files using a Perl Common Regular Expression (substitute 'foo' with 'bar' wherever found):
rename 's/foo/bar/' \*
- Dry-run - display which renames would occur without performing them:
rename -n 's/foo/bar/' \*
- Force renaming even if the operation would overwrite existing files:
rename -f 's/foo/bar/' \*
- Convert filenames to lower case (use
-fin case-insensitive filesystems to prevent "already exists" errors):
rename 'y/A-Z/a-z/' \*
- Replace whitespace with underscores:
rename 's/\s+/_/g' \*
rename [options] expression replacement file...
rename will rename the specified files by replacing the first occurrence of expression in their name by replacement.
- -s, --symlink
Do not rename a symlink but its target.
- -v, --verbose
Show which files were renamed, if any.
- -n, --no-act
Do not make any changes.
- -o, --no-overwrite
Do not overwrite existing files.
- -V, --version
Display version information and exit.
- -h, --help
Display help text and exit.
Given the files foo1, ..., foo9, foo10, ..., foo278, the commands
rename foo foo00 foo? rename foo foo0 foo??
will turn them into foo001, ..., foo009, foo010, ..., foo278. And
rename .htm .html *.htm
will fix the extension of your html files. Provide an empty string for shortening:
rename '_with_long_name' '' file_with_long_name.*
will remove the substring in the filenames.
The renaming has no safeguards except the --no-act option. If the user has permission to rewrite file names, the command will perform the action without any questions. For example, the result can be quite drastic when the command is run as root in the /lib directory. Always make a backup before running the command, unless you truly know what you are doing.
all requested rename operations were successful
all rename operations failed
some rename operations failed
nothing was renamed
unanticipated error occurred
The rename command is part of the util-linux package and is available from https://www.kernel.org/pub/linux/utils/util-linux/.