1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          rename(Linux系統中rename命令如何使用)

          來源:互聯網轉載 時間:2024-05-11 16:49:11

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

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

          代碼如下:


          mv - move (rename) files
          rename - rename files


          也就是說,mv也能用于改名,但不能實現批量處理(改名時,不支持*等符號的),而rename可以。
          rename使用的格式:

          代碼如下:


          $ rename foo foo0 foo?


          rename需要提供三個參數,然后才能決定最終結果。
          模擬一下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

          改名結果:
          (紅色是沒有改動的,藍色是有改動的一部分)
          引用

          代碼如下:


          $ 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

          該例子給出了兩種文件批量重命名的用法:
          引用
          第一個參數:被替換掉的字符串
          第二個參數:替換成的字符串
          第三個參數:匹配要替換的文件模式

          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&rsquo;s Manual rename(1)
          這個就是C語言版本的 ---我的就是C語言版本
          而如果出現的是
          rename(1) Perl Programmers Reference Guide rename(1)
          這個就是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/*
          腳本實現方法:

          代碼如下:


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

          關于Linux系統中rename命令如何使用問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注本站行業資訊頻道了解更多相關知識。

          標簽:rename-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          【資料圖】哈嘍小伙伴們 ,今天給大家科普一個小知識。在日常生活中我們或多或少的都會接觸到烏蘭巴托的夜原唱是誰唱的方面的一些說法,有的小伙伴還不是很了解,今天就給大家詳細的介紹一下關于烏蘭巴托的夜原唱是誰唱的的相關內容。烏蘭巴托的夜原唱是蒙古國的成吉思汗樂隊。烏蘭巴托的夜是由蒙古國的成吉思汗樂隊創作于1985年的歌曲。歌曲的作詞作曲均由普日布道爾吉擔任創作。1987年成吉思汗樂隊首次在國內呼和浩特演...

          今日加拿大元對人民幣匯率表當前匯率5.1787加拿大元100人民幣517.8700Tips:100加拿大元兌換517.8700人民幣匯率更新時間:2022/10/99:21:482022年9月30日銀行間外匯市場人民幣匯率中間價為:1美元對人民幣7.0998元,1歐元對人民幣6.9892元,100日元對人民幣4.9276元,1港元對人民幣0.90444元,1英鎊對人民幣7.9481元,1澳大利亞元...

          鉛筆,日常生活中最常見的文具之一。許多人用鉛筆學習寫字。但是,很多人不知道,鉛筆雖然含有“鉛”字,但是和鉛一點關系都沒有。1564年,一個英國牧羊人偶然發現了黑色礦物——石墨,這是鉛筆鉛的主要原料。這種神奇的物質顯色性很高,可以作為羊身上的標記。不久后,商人發現了商機,將石墨切成條狀出售,這樣人們就可以在籃子和容器上做標記。但是石墨的脆性和臟手也讓人苦惱。1761年,德國化學家費伯在石墨中加入硫磺...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>