linux(uinx)批量修改文件名的命令行


ming內容前要:同事有一個批量改服務器上文件名字的需求。我把在ubuntu上批量修改文件名字的命令給他,但是不能用。因為服務器是unix。所以下面整理一下批量修改文件名的命令。

 

===================================================我是分隔符================================================

 

首先 你要先知道 自己所處的服務器環境。

命令:cat /proc/version

接下來介紹 一下ubuntu的批量修改文件名字的命令。

命令 :ls

我們先看一下文件夾下面有哪些 文件

 

然后講 文件名中的gg改為yy

命令:rename -v 's/gg/yy' *

然后 命令:ls ,看一下現在的名字

 

 解釋一下 這句命令:

  rename -v 's/gg/yy' *

 

 

===================================================我是分隔符================================================

當你不知道 一個命令改如何使用的時候,你可以在命令行敲這個命令

命令:man rename

 

 man命令是Linux下的幫助指令,通過man指令可以查看Linux中的指令幫助、配置文件幫助和編程幫助等信息。

ps:按一下q 退出。

 

*********************************************************************我是分隔符************************************************************************************************

 

但是上面這個命令不適合unix 

同樣的命令 man rename

在uinx上顯示為:

這就說明在這種環境下,沒辦法使用上面的方式批量修改文件名字。這時,我們就需要使用for循環來改名。

命令: for i in `ls`; do mv -f $i `echo "6"$i`; done   

解釋:for i in `ls` 意思 是 循環當前文件夾下的所有文件;  

          do mv -f  執行mv 命令,-f:若目標文件或目錄與現有的文件或目錄重復,則直接覆蓋現有的文件或目錄;

     $i  代表循環體中每一個文件;

   echo  輸出為XXX; 如果是 該文件夾下所有文件一起改名字,那么 前面的命令復制粘貼就可以了,從echo開始改成自己需要的樣子就可以了。

   "6"$i`  在所有文件名的前面加上6; 

    done    結束;

該命令的運行結果為:

下面舉幾個🌰,更明白點。

命令:for i in `ls`; do mv -f $i `echo $i | sed 's/^.//'`; done

注:sed可依照script的指令,來處理、編輯文本文件。sed主要用來自動編輯一個或多個文件;簡化對文件的反復操作;編寫轉換程序等。

  后面為正則表達式,/^表示正則的開始,. 代表第一位,/ 表示結束。意思為將第一位置為空。

命令:for i in `ls`; do mv -f $i `echo $i | sed 's/^./new/'`; done    將文件名的第一位改為new。

命令:for i in `ls`; do mv -f $i `echo $i | sed 's/^/new/'`; done    在文件名前面添加new。

命令: for i in `ls`; do mv -f $i `echo $i | sed 's/$/new/'`; done    在文件名的后面添加new。

命令: for i in `ls`; do mv -f $i `echo $i | sed 's/.$/6/'`; done    在文件名的后面添加new。

命令:for i in `ls`; do mv -f $i `echo $i | tr A-Z a-z `; done  將文件名的大寫字母轉為小寫字母;

 

 

===================================================分隔符==========================================================================

 

希望吾皇 有一天也對我說這么甜蜜的話。mua

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM