This page is not available in every language. Missing translations are disabled in the language selector.

Quick reference

rename Utility Cheatsheet

A quick reference guide for the Perl-based rename command-line tool: regular expression file renaming, substitution, trimming, and dry-run testing.

· Published

rename is a Perl-powered command-line utility for batch-renaming files using regular expressions.

Installation

# macOS (Homebrew)
brew install rename

# Debian / Ubuntu
sudo apt install rename

Common Use Cases

Search & Replace

# Replace 'foo' with 'bar' in all .txt filenames
rename 's/foo/bar/' *.txt

# Global replacement (all occurrences)
rename 's/foo/bar/g' *.txt

Changing File Extensions

# Change all .jpeg files to .jpg
rename 's/\.jpeg$/\.jpg/' *.jpeg

# Alternative flag syntax
rename -s .jpeg .jpg *.jpeg

Lowercasing & Uppercasing

# Convert all filenames to lowercase
rename 'y/A-Z/a-z/' *

# Convert all filenames to uppercase
rename 'y/a-z/A-Z/' *

Stripping Whitespace & Characters

# Replace spaces with underscores
rename 's/ /_/g' *

# Remove leading numbers and dashes (e.g., '01 - Track.mp3' -> 'Track.mp3')
rename 's/^\d+\s*-\s*//' *.mp3

Testing & Safety Flags

# Dry run: print what would be renamed without modifying files (-n)
rename -n 's/draft_/final_/' *.md

# Verbose: print each renamed file (-v)
rename -v 's/draft_/final_/' *.md

# Interactive: prompt before overwriting existing files (-i)
rename -i 's/foo/bar/' *

References

Related topics