Linux 下的 rename 命令有两个版本:
- C语言版本
- 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/*
样例3:若改用脚本,可如下:
find -name "a*" -print |
while read name; do
echo $name
rename 's/a/b/' $name
done
www.blog.csdn.net/zgl_dm 如需转载,请标明出处。
最后,该如何判断rename是哪个版本,可通过 man rename 查看。若第一行为 RENAME(1) Linux Programmer’s Manual RENAME(1),则是 C语言版本的,若出现 RENAME(1) Perl Programmers Reference Guide RENAME(1)则为 Perl 版本的。