日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

Ubuntu 重命名文件

發布時間:2023/12/20 Ubuntu 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu 重命名文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在linux下修改文件的名字有很多種方法,常用的有mv和rename。

一,mv

mv fromfile tofile

如把文件a.txt得命名為b.txt,可以是mv a.txt b.txt。

mv一次只能重命名一個文件,而且,它是移動命令。如果tofile已經存在的話,會直接裝原文件覆蓋,從而造成文件的丟失。當然有選項可以對已存在的文件進行提示,還是決定看看rename吧。

例子:將目錄A重命名為B

mv A B

例子:將/a目錄移動到/b下,并重命名為c

mv /a /b/c


二 rename

本文介紹rename命令完成重命名批量文件語法,介紹了rename用到的Perl的替換和轉化形式,并給出常用正規表達式。最后給出幾個實例。
  偶爾會遇到需要重命名批量文件,最典型的例子就是數碼相機的相片,在Ubuntu可以用工具Purrr或者PerfixSuffix實現該功能,但重命名批量文件并不常用,為了偶爾的一次操作,安裝工具(可能通過Ubuntu Software Center或者sudo apt-get install安裝),加之圖形化界面操作也比較費時間。事實上,rename命令就可以出色完成該工作。 一、rename命令   Linux的 rename 命令有兩個版本(C語言和Perl語言),早期的Linux發行版基本上使用的是C語言版本,現在系統幾乎都是Perl語言版本了(支持正則處理,功能更強大)[1]。可以通過命令man rename打開rename幫助文檔查看版本,如果第一行內容如下,則是Perl語言版本。
  • RENAME(1) ? ? Perl Programmers Reference Guide ? ? ? ? ? ? ?RENAME(1)
  •   鑒于Perl語言版本是主流,本文只介紹該版本下rename的用法,C語言版本操作見[1]。Perl語言版本的rename命令格式如下:
  • rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
  • -v(verbose)打印被成功重命名的文件 -n(no-act)只是顯示將被重命名的文件,而不重命名(重命名之前可以用-n確認 ?? ? ? ? ?需要重命名的文件) -f(force)覆蓋已經存在的文件 perlexprPerl語言格式的正則表達式 files需要被替換的文件(比如*.c、*.h),如果沒給出文件名,將從標準輸入讀
      先舉個例子來感受下,比如將當前目錄下所有*.nc文件中Sam3替換成Stm32,命令如下:
  • rename?-n?'s/Sam3/Stm32/'?*.nc  /*確認需要重命名的文件*/
  • rename?-v?'s/Sam3/Stm32/'?*.nc  /*執行修改,并列出已重命名的文件*/
  •   整個命令的重點在于Perl語言正則表達式,下一部分將予以較詳細的介紹。
    二、Perl正則表達式 2.1 三種形式[2] 匹配:m/<regexp>/? (可以省略m,直接寫成/regexp/) 替換:s/<pattern>/<replacement>/? 轉化:tr/<pattern>/<replacement>/    博文[3]給出了8種模式,rename命令常用到替換和轉化兩種(用匹配也沒意義)。轉換跟替換不同,替換是將replacement整個字符串替換pattern字符串,而轉換則是用replacement逐個字符替換pattern逐個字符,結果依賴于replacement與pattern字符個數(見下述分析)。 (1)替換 替換表達方式如下[3],還有一系列參數,貌似不怎么用得著。
  • s/PATTERN/REPLACEMENT/egimosx
  • eEvaluate the right side as an expression. gMatch globally, i.e. all occurrences. iCase-insensitive pattern matching. mTreat string as multiple lines. oOnly compile pattern once, even if variables within it change. sTreat string as single line. xUse extended regular expressions (2)轉化 轉化有兩種等價表達方式,如下:
  • tr/SEARCHLIST/REPLACEMENTLIST/cds
  • y/SEARCHLIST/REPLACEMENTLIST/cds
  • cComplement the SEARCHLIST. dDelete found but unreplaced characters. sSquash duplicate replaced characters.   轉化同替換不同,用REPLACEMENTLIST逐個字符替換SEARCHLIST逐個字符,比如'tr/Sam/Stm/',用S替代S,t替代a,m替代m。結果依賴于兩者字符長短,下面以文件名FastSpiSam3C.nc為例進行說明:
  • jelline@jelline:~$?rename?-n?'tr/Sam3/Stm/'?FastSpiSam3C.nc /*替換字符短,用最后一個字符m替換3*/
  • FastSpiSam3C.nc renamed as FtstSpiStmmC.nc

  • jelline@jelline:~$?rename?-n?'tr/Sam3/Stm32/'?FastSpiSam3C.nc?/*替換字符長,多出字符被忽略*/
  • FastSpiSam3C.nc renamed as FtstSpiStm3C.nc
  •   參數c、d、s把我搞懵了,本想通過一系列操作,總結規律,結果徒勞。
    2.2 常用模式 正則表達式中的一些常用模式pattern[2]: x?  匹配 0 次或一次 x 字符串 x*  匹配 0 次或多次 x 字符串,但匹配可能的最少次數 x+  匹配 1 次或多次 x 字符串,但匹配可能的最少次數 .*  匹配 0 次或一次的任何字符 .+  匹配 1 次或多次的任何字符 {m} 匹配剛好是 m 個 的指定字符串 {m,n}匹配在 m個 以上 n個 以下 的指定字符串 {m,} 匹配 m個 以上 的指定字符串 []  匹配符合 [] 內的字符 [^] 匹配不符合 [] 內的字符 [0-9]匹配所有數字字符 [a-z]匹配所有小寫字母字符 [^0-9]匹配所有非數字字符 [^a-z]匹配所有非小寫字母字符 ^   匹配字符開頭的字符 $   匹配字符結尾的字符 \d  匹配一個數字的字符,和 [0-9] 語法一樣 \d+  匹配多個數字字符串,和 [0-9]+ 語法一樣 \D  非數字,其他同 \d \D+  非數字,其他同 \d+ \w   英文字母或數字的字符串,和 [a-zA-Z0-9] 語法一樣 \w+  和 [a-zA-Z0-9]+ 語法一樣 \W   非英文字母或數字的字符串,和 [^a-zA-Z0-9] 語法一樣 \W+ ? 和 [^a-zA-Z0-9]+ 語法一樣 \s ? ?空格,和 [\n\t\r\f] 語法一樣 \s+ ? 和 [\n\t\r\f]+ 一樣 \S ? ?非空格,和 [^\n\t\r\f] 語法一樣 \S+ ? 和 [^\n\t\r\f]+ 語法一樣 \b ? ?匹配以英文字母,數字為邊界的字符串 \B ? ?匹配不以英文字母,數值為邊界的字符串 a|b|c 匹配符合a字符 或是b字符 或是c字符 的字符串 abc ? 匹配含有 abc 的字符串
    三、實例 3.1?將所有*.nc文件中Sam3替換成Stm32
  • rename?-v?'s/Sam3/Stm32/'?*.nc  /*執行修改,并列出已重命名的文件*/
  • 3.2 去掉文件后綴名(比如去掉.bak)
  • rename?'s/\.bak$//'?*.bak
  • 3.3 將文件名改為小寫
  • rename?'y/A-Z/a-z/'?*
  • 3.4 去掉文件名的空格
  • rename?'s/[ ]+//g'?*
  • 3.5 文件開頭加入字符串(比如jelline)
  • rename?'s/^/jelline/'?*
  • 3.6 文件末尾加入字符串(比如jelline)
  • rename?'s/$/jelline/'?*

  • 總結

    以上是生活随笔為你收集整理的Ubuntu 重命名文件的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 在线精品小视频 | 大陆一级黄色片 | 久久国产片| 欧美精品国产一区二区 | 国产第2页 | 国产无遮挡裸体免费视频 | 无码h黄肉3d动漫在线观看 | 污网站免费 | 97人妻精品一区二区 | 日韩一三区 | 国产xxxx| 色四虎| 法国伦理少妇愉情 | 巨乳美女动漫 | tube国产麻豆 | 中文字幕大全 | 伊人影院在线视频 | 蜜臀久久99精品久久久久久 | 亚洲丝袜在线视频 | 精品嫩模一区二区三区 | 国产成人精品免费在线观看 | 国产成人午夜精品无码区久久 | 久久精品偷拍视频 | 国产乱码av | 色婷婷一区二区三区 | 免费在线观看的av | 日韩欧美一二区 | 午夜剧场福利社 | 午夜av福利 | 日韩激情毛片 | 日韩久久一区 | 人与动物2免费观看完整版电影高清 | 美女扒开腿让男生捅 | 欧美 日韩 精品 | 大桥未久av一区二区三区中文 | 公车乳尖揉捏酥软呻吟 | tube日本69第一次 | 777欧美| 国产精品19乱码一区二区三区 | 最近中文字幕mv | 日韩精品一区二 | 欧美激情在线观看一区 | 徐锦江一级淫片免费看 | 欧美日韩激情在线一区二区三区 | 日韩久久影院 | 亚洲色欧美另类 | 亚洲伦理一区 | 香蕉福利 | 一区二区视频在线播放 | 久久最新网址 | 国产精品美女久久久免费 | 欧美一级在线视频 | 日韩高清片 | 妺妺窝人体色www聚色窝仙踪 | 亚洲自拍第二页 | 欧美一区二区三区在线观看视频 | 国产欧美激情视频 | 亚洲欧洲精品在线 | 东方欧美色图 | 91精品国产综合久 | 亚洲国产av一区二区三区 | 我和公激情中文字幕 | 久国产精品| 女生扒开尿口 | 日韩精品1 | 欧美老女人性生活 | 欧美日韩一区二区三区在线视频 | 亚洲精品欧美激情 | 精品黑人一区二区三区观看时间 | 亚洲国产黄色片 | 精品免费观看 | 动漫大乳美女 | 91精品国产麻豆国产自产在线 | 免费激情网址 | 国产成人三级一区二区在线观看一 | 51免费看成人啪啪片 | 亚洲电影影音先锋 | heyzo北岛玲在线播放 | 九九热在线精品视频 | 久久这里只有精品国产 | 狼友视频国产精品 | 色噜噜狠狠一区二区三区果冻 | 免费看大片a | 动漫美女隐私无遮挡 | 91嫩草香蕉 | 亚洲av人人夜夜澡人人 | 亚洲福利社 | 综合婷婷 | 麻豆网站视频 | 欧美丰满老熟妇xxxxx性 | 男生操女生网站 | av每日更新在线观看 | 亚洲女人天堂 | 热久久国产精品 | 日韩欧美一级大片 | 国产精品久久久久久久一区探花 | 日日夜夜天天干 | 青青草网站 | 一本色道久久综合精品婷婷 |