<fieldset id='b3mk7'></fieldset>
    <dl id='b3mk7'></dl>

    <ins id='b3mk7'></ins>
  1. <i id='b3mk7'><div id='b3mk7'><ins id='b3mk7'></ins></div></i>
  2. <tr id='b3mk7'><strong id='b3mk7'></strong><small id='b3mk7'></small><button id='b3mk7'></button><li id='b3mk7'><noscript id='b3mk7'><big id='b3mk7'></big><dt id='b3mk7'></dt></noscript></li></tr><ol id='b3mk7'><table id='b3mk7'><blockquote id='b3mk7'><tbody id='b3mk7'></tbody></blockquote></table></ol><u id='b3mk7'></u><kbd id='b3mk7'><kbd id='b3mk7'></kbd></kbd>

    <code id='b3mk7'><strong id='b3mk7'></strong></code>
      <i id='b3mk7'></i>
      <acronym id='b3mk7'><em id='b3mk7'></em><td id='b3mk7'><div id='b3mk7'></div></td></acronym><address id='b3mk7'><big id='b3mk7'><big id='b3mk7'></big><legend id='b3mk7'></legend></big></address>

      1. <span id='b3mk7'></span>
        1. 讲解Linux中的重命名命令rename的使用方法

          • 时间:
          • 浏览:9
          • 来源:124软件资讯网

              rename 用于 对文件举行命名治理  ,可举行批量命名并支持正则表达式 , rename下令存在两个版本用法上有所区别 一个是 C语言版本支持通配符  ,另一个是 Perl版本.支持正则表达式

              下令花样:

              Usage: rename [-v] [-n] [-f] perlexpr [filenames]

              参数说明:

              v 显示文件重命名的细节

              n 不执行重命名  ,但会模拟执行重命名 ,并显示会泛起的情形  ,例如是否会有同名文件冲突等  。在重命名前测试很有用  。

              f 强制笼罩同名文件

              常用通配符说明

              ? 表现一个恣意字符

              * 表现一个或一串恣意字符

              常用正则表达式符号说明

              ^ 匹配输入的最先位置

              $ 匹配输入的末端

              . 匹配除换行符外的恣意字符

              + 匹配前一个字符一次或多次 例如  ,"zo+"可以匹配"zoo",但不匹配"z"

              [a-z] 表现某个规模内的字符  ,例如  ,"[a-z]"匹配"a"与"z"之间的任何一个小写字母字符 。

              [^m-z] 否认的字符区间 。与不在指定区间内的字符匹配 。

              例子1:显示重命名细节

              使用touch下令建立3个txt文件  ,使用rename下令批量将所有后缀为txt重命名为log

              代码如下:

              touch a.txt

              touch b.txt

              touch c.txt

              rename -v 's/.txt/.log/' *.txt

              v 参数作用  ,显示文件重命名细节

              代码如下:

              fdipzone@ubuntu:~$ rename -v 's/.txt/.log/' *.txt

              a.txt renamed as a.log

              b.txt renamed as b.log

              c.txt renamed as c.log

              例子2:测试重命名是否遇到同名

              代码如下:

              touch a.txt

              touch b.txt

              touch c.txt

              touch a.log

              touch b.log

              rename -n 's/.txt/.log/' *.txt

              n 参数作用  ,不执行重命名 ,但会显示若是执行重命名会泛起的同名情形

              代码如下:

              fdipzone@ubuntu:~$ rename -n 's/.txt/.log/' *.txt

              a.txt not renamed: a.log already exists

              b.txt not renamed: b.log already exists

              c.txt renamed as c.log

              例子3:强制笼罩同名文件

              代码如下:

              touch a.txt

              touch b.txt

              touch a.log

              touch b.log

              rename -f 's/.txt/.log/' *.txt

              若是使用 v 参数  ,会由于同名文件存在而重命名失败

              代码如下:

              fdipzone@ubuntu:~$ rename -v 's/.txt/.log/' *.txt

              a.txt not renamed: a.log already exists

              b.txt not renamed: b.log already exists

              f 参数作用  ,强制笼罩同名文件

              代码如下:

              fdipzone@ubuntu:~$ rename -fv 's/.txt/.log/' *.txt

              a.txt renamed as a.log

              b.txt renamed as b.log

              执行后  ,a.txt与b.txt重命名为a.log与b.log  ,笼罩原来的a.log与b.log