Linux 下的 rename 命令

时间:2022-08-31 10:38:05

Linux 下的 rename 命令有两个版本:

如何判断rename是哪个版本,可通过 man rename 查看。若第一行为 RENAME(1) Linux Programmer’s Manual RENAME(1),则是 C语言版本的

若出现RENAME(1)              Perl Programmers Reference Guide              RENAME(1)则为 Perl 版本的。

  • C语言版本

其中,C语言版本的命令如下:

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

 样例1: 目录 test 下存在两个文件:j11a.in 、j11a.ans,若需要将文件名中的 a 替换为 空白,  其他部分保持不变,则

               (1) 若 当前位于 test 目录下,则执行 rename 1a 1 *



           Perl 语言版本的命令如下:

           rename ‘s/原字符串/新字符串/’ 文件名

样例2: 题目如样例1,则

               (1) 若 当前位于 test 目录下,则执行 rename ‘s/1a/1/’ *

  

样例3:若改用脚本,可如下:

find -name "*1a*" -print |
while read name; do
echo $name
rename 's/1a/1/' $name
done