說到重新命名,相信大多數和我一樣的linux初學者想到的就是mv
,簡單的重新命名當然使用mv
已經足夠,但是比較複雜的重新命名(比如根據正則重新命名)就需要用到更順手的工具了,那就是rename
$ rename
[options]
[perlexpr]
[files]
-v 顯示成功重新命名的檔案
-n 只顯示將被重新命名的檔案,但是不進行重新命名
-f 如果檔案已存在,覆蓋
-e 表明需要需要被執行的code,如果沒有-e,那麼第乙個引數將被當成code
這是乙個perl表示式,檔名應當在其中被改變,沒學過perl也沒關係,這個命令用到的語法很像sed,容易上手。
需要重新命名的檔案
最容易掌握命令的方法就是動手試試了,下面來看看一些例子
去除副檔名
例如我們想把擴充套件名為.bak
的副檔名去掉,可以這樣
$ rename 's/\.bak$//' *.bak
*.bak
為萬用字元(wildcard),會被shell展開為各個檔名
去除檔名中的空格
$ rename 's/ //g' *
g
是global的意思,替換所有的空格為空字元(也就是刪除啦)
檔名轉為小寫
$ rename 'y/a-z/a-z/' *
這裡用到了y
意思是翻譯,前後兩個字符集是對應的,遇到前面乙個字符集(a-z)裡面的字元就換成後面乙個字符集(a-z)裡面的相應字元。
使用分組
現在有一堆檔案,他們的檔名模式是這樣的第一部分-haha-第二部分.file
,現在要把中間的-haha-
刪去並把第一部分的字串和第二部分的字串對調,可以這樣:
$ rename
's/(.*)-haha-(.*)(.file)/$2$1$3/' *.file
對分組不了解可以去補補正規表示式了。 Linux檔案重新命名的幾種方法 rename
python for迴圈例子 rename使用方法 1 for的字串迴圈 for var in sql do mv var lg10.efg.sql done 效果如圖 在迴圈體裡,我們使用 mv 命令進行重新命名。這裡我們使用 這種字串處理方式,表示從var尾部開始刪除與 sql 匹配的最小部分,...
下重新命名檔案或資料夾 mv命令與rename命令
在linux下重新命名檔案或目錄,可以使用mv命令或rename命令,這裡分享下二者的使用方法。mv命令既可以重新命名,又可以移動檔案或資料夾。例子 將目錄a重新命名為b mv a b 例子 將 a目錄移動到 b下,並重命名為c mv a b c 其實在文字模式中要重新命名檔案或目錄,只需要使用mv...
Linux重新命名
一 簡單的單檔案重新命名 mv source file name target file name 二 支援批量重新命名的,即萬用字元 rename from 剛學習linux的時候,對檔案重新命名首先想到的就是rename命令,但是按照在windows下對檔案重新命名的方式試了n多次都沒有反應,在...