linux rename如何批量修改文件名
1. rename 重命名
语法rename 's/src/dst/' *
*
可以匹配任意文件,可以加限制(*.jpg)
2. 基本用法
这种方式遇到第一个匹配的字符串时,替换,后面的不替换
只匹配了第一个.txt
rename 's/.txt/.jpg/' *
**加上$**则会匹配到后缀
rename 's/.txt$/.jpg/' *
3. 添加后缀
在所有文件的文件名后面添加str
rename 's/$/str/' *
举例rename 's/$/txt/' *
在文件名后添加txt
4. 批量删掉后缀
删除所有文件的文件名后面的str
rename 's/str$//' *
举例rename 's/txt$//' *
删除所有文件的文件名后面的txt
5. 添加前缀
在所有文件的文件名前面面添加str
rename 's/^/str/' *
举例rename 's/^/hhh' *
在文件名前添加hhh
6. 删除前缀
删除所有文件的文件名前面的str
rename 's/^str//' *
举例rename 's/^hhh//' *
删除所有文件的文件名后面的hhh
开始的字符串^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版本的
以上就是linux rename如何批量修改文件名的详细内容,更多请关注其它相关文章!