Linux批量更改檔案字尾名

longxibendi發表於2011-05-03

今天又有同學問linux下怎樣批量更改檔案字尾名,這個問題被別人問到三次了,所以這裡給出幾個解決方法

 

一.rename解決

1.  Ubuntu系統下

rename 's//.c//.h/'  ./*

 

把當前目錄下的字尾名為.c的檔案更改為.h的檔案

 

2.  CentOS5.5系統下

rename .c  .h   *.c

 

把當前目錄下的字尾名為.c的檔案更改為.h的檔案

 

二.shell 指令碼解決

#!/bin/bash

#http://blog.csdn.net/longxibendi
find ./ -name *.c  | while read i
do
        echo "$i";
        mv $i.c  $i.h
done
 

三.find  xargs 解決


 find ./ -name "*.c" | awk -F "." '{print $2}' | xargs -i -t mv ./{}.c  ./{}.h

 

注意,第三種方案是遞迴的更改,會更改當前目錄下及其子目錄下所有匹配檔案

 

四.參考:

http://blog.csdn.net/longxibendi/archive/2010/09/16/5889055.aspx

 


宣告:本文件可以隨意更改,但必須署名原作者

 

作者:鳳凰舞者 qq:578989855

相關文章