重命名文件,经常用到mv命令,批量重命名文件rename是最好的选择,Linux的rename 命令有两个版本,一个是C语言版本的,一个是Perl语言版本的,判断方法:
输入man rename 看到第一行是
RENAME(1) Linux Programmer’s Manual RENAME(1)
这个就是C语言版本的 ---我的就是C语言版本
而如果出现的是
RENAME(1) Perl Programmers Reference Guide RENAME(1)
这个就是Perl版本的了
C语言版本格式:rename 原字符串 新字符串 文件名
样例1:目录test下存在两个文件:a_01、a_02,若需要将文件名中的a替换为b,其他部分保持不变,则
(1) 若当前位于test目录下,则执行 rename a b *
(2) 若当前位于test的父目录,则执行 rename a b test/*
Perl语言版本格式:rename 's/原字符串/新字符串/' 文件名
样例2:题目如样例1,则
(1) 若当前位于test目录下,则执行 rename 's/a/b/' *
(2) 若当前位于test的父目录,则执行 rename 's/a/b' test/*
脚本实现方法:
find -name "a*" -print |
while read name
do
echo $name
rename 's/a/b/' $name
done