學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

rename命令怎么使用

時間: 春健736 分享

  rename命令可以用來修改文件名、重命名文件,批量重命名文件rename是最好的選擇,下面學(xué)習(xí)阿拉小編為大家分享了rename命令的使用的方法詳解,需要的朋友參考下。

  rename命令怎么使用

  在linux系統(tǒng)中重命名文件,經(jīng)常用到mv命令,批量重命名文件rename是最好的選擇。

  linux的rename命令有兩個版本,一個是c語言版本的,一個是perl語言版本的,判斷方法:

  輸入man rename 看到第一行是:

  RENAME(1) Linux Programmer’s Manual RENAME(1)

  這個就是C語言版本的 ---我的就是C語言版本

  而如果出現(xiàn):

  RENAME(1) Perl Programmers Reference Guide RENAME(1)

  則是Perl版本的了

  C語言版本格式:rename 原字符串 新字符串 文件名

  Dos/Windows下,對文件改名用rename。而書上說,Linux下對文件或目錄改名該用mv。卻忽略了Linux下也有個叫rename的命令。都是rename,但功能上就有點(diǎn)差異了。Linux下的rename更像批量改名的工具,是util-linux套件中提供的。

  從mv和rename命令的man文檔中,可以看到如下信息:

  代碼如下:

  mv - move (rename) files

  rename - Rename files

  也就是說,mv也能用于改名,但不能實(shí)現(xiàn)批量處理(改名時,不支持*等符號的),而rename可以。

  rename使用的格式:

  代碼如下:

  $ rename foo foo0 foo?

  rename需要提供三個參數(shù),然后才能決定最終結(jié)果。

  模擬一下man文檔的例子,原文件:

  代碼如下:

  $ for i in `seq 100`;do touch foo$i;done

  $ ls

  foo1 foo18 foo27 foo36 foo45 foo54 foo63 foo72 foo81 foo90

  foo10 foo19 foo28 foo37 foo46 foo55 foo64 foo73 foo82 foo91

  foo100 foo2 foo29 foo38 foo47 foo56 foo65 foo74 foo83 foo92

  foo11 foo20 foo3 foo39 foo48 foo57 foo66 foo75 foo84 foo93

  foo12 foo21 foo30 foo4 foo49 foo58 foo67 foo76 foo85 foo94

  foo13 foo22 foo31 foo40 foo5 foo59 foo68 foo77 foo86 foo95

  foo14 foo23 foo32 foo41 foo50 foo6 foo69 foo78 foo87 foo96

  foo15 foo24 foo33 foo42 foo51 foo60 foo7 foo79 foo88 foo97

  foo16 foo25 foo34 foo43 foo52 foo61 foo70 foo8 foo89 foo98

  foo17 foo26 foo35 foo44 foo53 foo62 foo71 foo80 foo9 foo99

  改名結(jié)果:

  (紅色是沒有改動的,藍(lán)色是有改動的一部分)

  引用

  代碼如下:

  $ rename foo foo0 foo?

  $ ls

  foo01 foo100 foo20 foo30 foo40 foo50 foo60 foo70 foo80 foo90

  foo02 foo11 foo21 foo31 foo41 foo51 foo61 foo71 foo81 foo91

  foo03 foo12 foo22 foo32 foo42 foo52 foo62 foo72 foo82 foo92

  foo04 foo13 foo23 foo33 foo43 foo53 foo63 foo73 foo83 foo93

  foo05 foo14 foo24 foo34 foo44 foo54 foo64 foo74 foo84 foo94

  foo06 foo15 foo25 foo35 foo45 foo55 foo65 foo75 foo85 foo95

  foo07 foo16 foo26 foo36 foo46 foo56 foo66 foo76 foo86 foo96

  foo08 foo17 foo27 foo37 foo47 foo57 foo67 foo77 foo87 foo97

  foo09 foo18 foo28 foo38 foo48 foo58 foo68 foo78 foo88 foo98

  foo10 foo19 foo29 foo39 foo49 foo59 foo69 foo79 foo89 foo99

  代碼如下:

  $ rename foo foo0 foo??

  $ ls

  foo001 foo011 foo021 foo031 foo041 foo051 foo061 foo071 foo081 foo091

  foo002 foo012 foo022 foo032 foo042 foo052 foo062 foo072 foo082 foo092

  foo003 foo013 foo023 foo033 foo043 foo053 foo063 foo073 foo083 foo093

  foo004 foo014 foo024 foo034 foo044 foo054 foo064 foo074 foo084 foo094

  foo005 foo015 foo025 foo035 foo045 foo055 foo065 foo075 foo085 foo095

  foo006 foo016 foo026 foo036 foo046 foo056 foo066 foo076 foo086 foo096

  foo007 foo017 foo027 foo037 foo047 foo057 foo067 foo077 foo087 foo097

  foo008 foo018 foo028 foo038 foo048 foo058 foo068 foo078 foo088 foo098

  foo009 foo019 foo029 foo039 foo049 foo059 foo069 foo079 foo089 foo099

  foo010 foo020 foo030 foo040 foo050 foo060 foo070 foo080 foo090 foo100

  該例子給出了兩種文件批量重命名的用法:

  引用

  第一個參數(shù):被替換掉的字符串

  第二個參數(shù):替換成的字符串

  第三個參數(shù):匹配要替換的文件模式

  rename支持通配符,基本的通配符有以下幾個:

  引用

  ? 可替代單個字符

  * 可替代多個字符

  [charset] 可替代charset集中的任意單個字符

  看看*的作用:

  引用

  $ rm -f *

  $ for i in `seq 100`;do touch foo$i;done

  $ rename foo foo0 foo*

  $ ls

  foo01 foo018 foo027 foo036 foo045 foo054 foo063 foo072 foo081 foo090

  foo010 foo019 foo028 foo037 foo046 foo055 foo064 foo073 foo082 foo091

  foo0100 foo02 foo029 foo038 foo047 foo056 foo065 foo074 foo083 foo092

  foo011 foo020 foo03 foo039 foo048 foo057 foo066 foo075 foo084 foo093

  foo012 foo021 foo030 foo04 foo049 foo058 foo067 foo076 foo085 foo094

  foo013 foo022 foo031 foo040 foo05 foo059 foo068 foo077 foo086 foo095

  foo014 foo023 foo032 foo041 foo050 foo06 foo069 foo078 foo087 foo096

  foo015 foo024 foo033 foo042 foo051 foo060 foo07 foo079 foo088 foo097

  foo016 foo025 foo034 foo043 foo052 foo061 foo070 foo08 foo089 foo098

  foo017 foo026 foo035 foo044 foo053 foo062 foo071 foo080 foo09 foo099

  再看看[charset]的作用:

  引用

  $ rm -f *

  $ for i in `seq 100`;do touch foo$i;done

  $ rename foo foo0 foo[9]*

  $ ls

  foo09 foo099 foo17 foo26 foo35 foo44 foo53 foo62 foo71 foo80

  foo090 foo1 foo18 foo27 foo36 foo45 foo54 foo63 foo72 foo81

  foo091 foo10 foo19 foo28 foo37 foo46 foo55 foo64 foo73 foo82

  foo092 foo100 foo2 foo29 foo38 foo47 foo56 foo65 foo74 foo83

  foo093 foo11 foo20 foo3 foo39 foo48 foo57 foo66 foo75 foo84

  foo094 foo12 foo21 foo30 foo4 foo49 foo58 foo67 foo76 foo85

  foo095 foo13 foo22 foo31 foo40 foo5 foo59 foo68 foo77 foo86

  foo096 foo14 foo23 foo32 foo41 foo50 foo6 foo69 foo78 foo87

  foo097 foo15 foo24 foo33 foo42 foo51 foo60 foo7 foo79 foo88

  foo098 foo16 foo25 foo34 foo43 foo52 foo61 foo70 foo8 foo89

  Linux的rename 命令有兩個版本,一個是C語言版本的,一個是Perl語言版本的,判斷方法:

  輸入man rename 看到第一行是

  RENAME(1) Linux Programmer’s Manual RENAME(1)

  這個就是C語言版本的 ---我的就是C語言版本

  而如果出現(xiàn)的是

  RENAME(1) Perl Programmers Reference Guide RENAME(1)

  這個就是Perl版本的了

  C語言版本格式:rename 原字符串 新字符串 文件名

  樣例1:目錄test下存在兩個文件:a_01、a_02,若需要將文件名中的a替換為b,其他部分保持不變,則

  (1) 若當(dāng)前位于test目錄下,則執(zhí)行 rename a b *

  (2) 若當(dāng)前位于test的父目錄,則執(zhí)行 rename a b test/*

  Perl語言版本格式:rename 's/原字符串/新字符串/' 文件名

  樣例2:題目如樣例1,則

  (1) 若當(dāng)前位于test目錄下,則執(zhí)行 rename 's/a/b/' *

  (2) 若當(dāng)前位于test的父目錄,則執(zhí)行 rename 's/a/b' test/*

  腳本實(shí)現(xiàn)方法:

  代碼如下:

  find -name "a*" -print |

  while read name

  do

  echo $name

  rename 's/a/b/' $name

  done

看過“ rename命令怎么使用 ”的人還看了:

1.CAD常用快捷鍵

2.FTP命令大全

3.教你如何進(jìn)入有密碼的XP系統(tǒng)

4.CentOS如何批量壓縮圖片尺寸大小

5.名師指導(dǎo):2015年計(jì)算機(jī)等級考試上機(jī)應(yīng)試技巧

rename命令怎么使用

rename命令可以用來修改文件名、重命名文件,批量重命名文件rename是最好的選擇,下面學(xué)習(xí)阿拉小編為大家分享了rename命令的使用的方法詳解,需要的朋友參考下。 rename命令怎么使用 在linux系統(tǒng)中重命名文件,經(jīng)常用到mv命令,批量重命
推薦度:
點(diǎn)擊下載文檔文檔為doc格式

精選文章

  • Linux命令行怎么瀏覽天氣預(yù)報(bào)
    Linux命令行怎么瀏覽天氣預(yù)報(bào)

    網(wǎng)友問到小編我經(jīng)常在 Linux 桌面查看天氣預(yù)報(bào)。然而,是否有一種在終端環(huán)境下,不通過桌面小插件或者瀏覽器查詢天氣預(yù)報(bào)的方法?學(xué)習(xí)啦小編為大家分

  • Linux命令行技巧
    Linux命令行技巧

    學(xué)習(xí)啦小編將和大家分享一些學(xué)習(xí)Linux命令行的技巧,希望能對大家有所助益。如果在本文中遇到不太熟悉的命令,可以在終端中鍵入以下命令尋求幫助。

  • 10個有用的Linux命令行補(bǔ)全例子
    10個有用的Linux命令行補(bǔ)全例子

    很多時候,當(dāng)我們寫一個腳本時,我們總會提供一些可選的命令選項(xiàng)。當(dāng)可選項(xiàng)比較多的時候,比如git, 如果能夠提供命令自動補(bǔ)全,那么的Linux中命令行

  • 如何在Linux命令行中查看目錄的大小
    如何在Linux命令行中查看目錄的大小

    有時候我們?yōu)榱藱z查下載數(shù)據(jù)是否正常,需要查看下載數(shù)據(jù)目錄大小,那么你知道如何在Linux命令行中查看目錄的大小嗎?下面跟著學(xué)習(xí)啦小編一起來了解一

646238