linux rename如何批量修改文件名

编辑: admin 分类: centos 发布时间: 2023-06-14 来源:互联网

1. rename 重命名

语法
rename 's/src/dst/' * *可以匹配任意文件,可以加限制(*.jpg)

2. 基本用法

这种方式遇到第一个匹配的字符串时,替换,后面的不替换
只匹配了第一个.txt

rename 's/.txt/.jpg/' *登录后复制

linux rename如何批量修改文件名

**加上$**则会匹配到后缀

rename 's/.txt$/.jpg/' *登录后复制

linux rename如何批量修改文件名

3. 添加后缀

在所有文件的文件名后面添加str

rename 's/$/str/' *登录后复制

举例rename 's/$/txt/' * 在文件名后添加txt

linux rename如何批量修改文件名

4. 批量删掉后缀

删除所有文件的文件名后面的str

rename 's/str$//' *登录后复制

举例rename 's/txt$//' *删除所有文件的文件名后面的txt

linux rename如何批量修改文件名

5. 添加前缀

在所有文件的文件名前面面添加str

rename 's/^/str/' *登录后复制

举例rename 's/^/hhh' * 在文件名前添加hhh

linux rename如何批量修改文件名

6. 删除前缀

删除所有文件的文件名前面的str

rename 's/^str//' *登录后复制

举例rename 's/^hhh//' *删除所有文件的文件名后面的hhh

linux rename如何批量修改文件名

开始的字符串^str
结尾的字符串str$

扩展:linux shell的rename的用法

rename分为两个版本,分别是C语言版本和Perl版本

C语言版本的格式:

rename 原字符串 新字符串 文件名

例:

当要修改的文件是存放在当前目录的子目录下的file文件夹下,准备将含有linux的文件全部替换成unix的

(1)当前处于file文件夹下,语句则是 rename linux unix *

(2)当前处于file文件的父目录,语句则是 rename linux unix file/*

Perl版本的样式:

rename 's/原字符串/新字符串/' 文件名

例:

题目同C语言版本的题目

(1)当前处于file文件夹下,语句则是 rename 's/linux/unix/' *

(2)当前处于file文件的父目录,语句则是 rename 's/linux/unix/' file/*

注:现在基本使用的是Perl版本的

【文章转自国外服务器 http://www.558idc.com处的文章,转载请说明出处】