Linux Comm Rename
# Linux rename Command
[ Linux Command Manual](#)
* * *
The `rename` command is a utility in Linux systems used for batch renaming files. By using regular expressions or simple string replacement, it can efficiently perform renaming operations on multiple files, especially suitable for scenarios requiring batch processing of filenames.
* * *
## Basic Syntax
The basic syntax format of the `rename` command is as follows:
rename 'expression' files...
### Parameter Description
* `expression`: A regular expression or replacement string specifying the filename conversion rule
* `files`: Target files to be renamed, supports wildcards (e.g., `*.txt`)
* * *
## Common Options
| Option | Description |
| --- | --- |
| `-v` | Display detailed operation information (verbose) |
| `-n` | Simulate run, do not actually perform renaming (dry-run) |
| `-f` | Force overwrite existing files |
| `-h` | Display help information |
* * *
## Usage Examples
### 1. Simple String Replacement
Change the extension of all `.html` files in the current directory to `.php`:
rename 's/.html$/.php/' *.html
**Code Analysis**:
* `s/` indicates the start of a substitution operation
* `.html$` matches filenames ending with `.html` (`$` means end of line)
* `/.php/` replace with `.php` extension
### 2. Adding a Prefix
Add a `backup_` prefix to all `.txt` files:
rename 's/^/backup_/' *.txt
### 3. Removing Specific Characters
Remove all spaces in filenames:
rename 's/ //g' *
**Note**: `g` means global replacement (all matches)
### 4. Case Conversion
Change the extension of all `.jpg` files to uppercase:
rename 's/.jpg$/.JPG/' *.jpg
* * *
## Advanced Usage
### 1. Using Variables and Complex Replacement
rename 's/(d+)/sprintf("%03d", $1)/e' *.png
**Function**: Format number sequences in filenames to 3 digits (e.g., `1.png` β `001.png`)
### 2. Conditional Renaming
rename 'if (/.jpeg$/) { s/.jpeg$/.jpg/ }' *
**Function**: Only modify the extension for `.jpeg` files
* * *
## Precautions
1. **Backup important files**: Before performing batch renaming, it is recommended to test with the `-n` option first
2. **Regular expression syntax**: The implementation of the `rename` command may vary across different Linux distributions
3. **Special character handling**: Escape sequences are needed when filenames contain special characters
4. **Permission issues**: Ensure you have write permissions for the target files
* * *
## Alternative Solutions
If the system does not have the `rename` command pre-installed, you can use the following alternatives:
### 1. Using `mv` with a Loop
## Example
for file in*.html; do
mv"$file""${file%.html}.php"
done
### 2. Installing the Perl Version of rename
## Example
# Ubuntu/Debian
sudo apt install rename
# CentOS/RHEL
sudo yum install prename
* * *
## Summary
The `rename` command is a powerful tool for Linux file management. By mastering its regular expression syntax, you can efficiently complete various complex batch renaming tasks. It is recommended to start practicing with simple replacements and gradually master more advanced usage.
* * Linux Command Manual](#)
YouTip