Linux 命令 rename
旨在根据指定规则更改文件和目录的名称。它不仅是一个简单的重命名工具,还允许用户使用正则表达式执行批量重命名操作,因此是系统管理员和开发人员的必备命令。
与用于移动或重命名文件的 mv
命令类似,rename
命令具有更大的灵活性和控制性。系统管理员、程序员和数据分析师等 IT 专业人员常用它来有效管理大型文件集。
如何安装 rename
命令
rename
命令的可用性可能因 Linux 发行版而异。下面,我将概述如何为一些常见发行版安装和卸载 rename
命令:
基于 Debian 的系统 (e.g., Ubuntu)
安装:
sudo apt-get update sudo apt-get install rename
卸载:
sudo apt-get remove rename
基于 RedHat 的系统 (e.g., Fedora, CentOS)
安装:
sudo dnf install prename
卸载:
sudo dnf remove prename
Arch Linux
安装:
sudo pacman -S perl-rename
卸载:
sudo pacman -R perl-rename
openSUSE
安装:
sudo zypper install rename
卸载:
sudo zypper remove rename
如何使用 rename
1. 替换文件名中的字符串
语法: rename 's/old/new/' *
说明: 将当前目录下所有文件名中的字符串 “old” 替换为 “new”。
示例: rename 's/test/demo/' *
Output:
testfile1.txt renamed as demofile1.txt testfile2.txt renamed as demofile2.txt
当前目录中所有名称中包含 test
的文件现在都替换为 demo
。
2. 为文件名添加前缀
语法: rename 's/^/prefix_/' *
说明: 在当前目录下所有文件名的开头添加 “prefix_”。
示例: rename 's/^/sample_/' *
Output:
file1.txt renamed as sample_file1.txt file2.txt renamed as sample_file2.txt
现在,当前目录下的所有文件都以 sample_
开头。
3. 删除文件扩展名
语法: rename 's/\.ext$//' *
说明: 删除当前目录中所有匹配文件名的 “.ext” 文件扩展名。
示例: rename 's/\.txt$//' *
Output:
document.txt renamed as document notes.txt renamed as notes
已删除当前目录下文件的所有 .txt
扩展名。
4. 将文件名转换为小写
语法: rename 'y/A-Z/a-z/' *
说明: 将当前目录下文件名中的所有大写字母转换为小写字母。
示例: rename 'y/A-Z/a-z/' *
Output:
FILE1.TXT renamed as file1.txt FILE2.TXT renamed as file2.txt
将当前目录中所有大写字母的文件名改为小写。
5. 更改文件扩展名
语法: rename 's/\.oldext$/.newext/' *
说明: 将当前目录中所有匹配文件名的扩展名从”.oldext “更改为”.newext”。
示例: rename 's/\.jpg$/.png/' *
Output:
image1.jpg renamed as image1.png image2.jpg renamed as image2.png
当前目录中所有文件的 .jpg
扩展名都已更改为 .png
。
6. 从文件名中删除后缀
语法: rename 's/suffix$//' *
说明: 删除当前目录下所有文件名末尾的 “后缀”。
示例: rename 's/_backup$//' *
Output:
file1_backup.txt renamed as file1.txt file2_backup.txt renamed as file2.txt
当前目录中所有以 _backup
结尾的文件现在都去掉了后缀。
7. 用下划线替换文件名中的空格
语法: rename 's/ /_/' *
说明: 用下划线替换当前目录下文件名中的所有空格。
示例: rename 's/ /_/' *
Output:
my file.txt renamed as my_file.txt another file.txt renamed as another_file.txt
当前目录中所有带有空格的文件名现在都用下划线代替了空格。
8. 在不更改扩展名的情况下为文件名添加后缀
语法: rename 's/(\.\w+)$/_suffix$1/' *
说明: 在当前目录下所有文件扩展名前添加”_suffix”。
示例: rename 's/(\.\w+)$/_edited$1/' *
Output:
file1.txt renamed as file1_edited.txt file2.jpg renamed as file2_edited.jpg
当前目录下的所有文件现在都会在文件扩展名前添加 _edited
。
更多 Linux 命令
目录操作 | rmdir · cd · pwd · exa · ls |
文件操作 | cat · cp · dd · less · touch · ln · rename · more · head |
文件系统操作 | chown · mkfs · locate |
网络 | ping · curl · wget · iptables · mtr |
搜索和文本处理 | find · grep · sed · whatis · ripgrep · fd · tldr |
系统信息和管理 | env · history · top · who · htop · glances · lsof |
用户和会话管理 | screen · su · sudo · open |
评论留言