首页 > 编程知识 正文

linux重命名目录,linux重命名主机名

时间:2023-05-03 19:03:54 阅读:228673 作者:4741

一、简单的单文件重命名


mv source_file_name  target_file_name


二、支持批量重命名的,即通配符

rename 

from : http://hi.baidu.com/yuhongchun027/item/89f9dd0ea35875143a53eee3

刚学习linux的时候,对文件重命名首先想到的就是rename命令,但是按照在windows下对文件重命名的方式试了N多次都没有反应,在网上一搜索,发现很多人都对rename命令知之甚少,甚至有一部分人说linux下没有rename命令,建议大家用mv命令。鉴于此,于是man rename一下,好好的研究了一下它的用法 ,在此对rename命令和mv命令在重命名文件方面做一个比较,有不足之处,希望各位博友指正!

首先来说一下mv命令,在man mv中我们可以看到对于mv命令的介绍是这样的:

mv -move(rename) files

可以看到mv命令确实有重命名的功能,但是实际应用中,它只能对单个文件重命名,命令如下:

mv [path/]oldfilename [path/]newfilename

“mv命令只能对单个文件重命名”,这实就是mv命令和rename命令的在重命名方面的根本区别。

再来说rename命令,在man rename的说明中可以看出rename命令是专用于文件重命名的,而且根据其后的例子可以看出,rename除了给单个文件重命名,还可以批量文件重命名。同时,值得注意一点的是,rename命令是带3个参数而不是很多人认为的2个参数.

上面的例子中给出了两种文件批量重命名的用法,而实际上,rename结合通配符使用,它的功能比上面的例子所显示的更强大,这个大家可在实际工作中熟悉使用,下面说下它的基础用法:

rename 批量修改文件名语法:rename from to file

该命令的各选项含义如下:

from 源字符。to 目标字符。file 要改名的文件 rename .rm .rmvb *// 把所有文件的后辍由rm改为rmvb

rename 'tr/A-Z/a-z/' *// 把所有文件名中的大写改为小写


3、rename的版本

from : http://blog.csdn.net/zgl_dm/article/details/6627411

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:若改用脚本,可如下:

[html]  view plain copy 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 版本的。


版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。