Linux批量更改檔案字尾名

2021-06-01 01:01:04 字數 1355 閱讀 7654

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

一.rename解決

1.  ubuntu系統下

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

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

2.  centos5.5系統下

rename .c  .h   *.c

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

二.shell 指令碼解決

#!/bin/bash

#find ./ -name *.c  | while read i

doecho "$i";

mv $i.c  $i.h

done

三.find  xargs 解決

find ./ -name "*.c" | awk -f "." '' | xargs -i -t mv ./{}.c  ./{}.h

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

四.參考:

linux下批量修改檔名

rename  的一種用法。

一:問題的提出

比如我的/home/cyq/cyq  有 m.php;1    n.php;1   倆個檔案,怎麼將檔名的 ;1    去掉。

www.linuxidc.com@linuxidc-desktop:~/cyq$ dir

m.php;1  n.php;1  筆記

www.linuxidc.com@linuxidc-desktop:~/cyq$

二:問題的解決

www.linuxidc.com@linuxidc-desktop:~/cyq$ rename 's//.php;1//.php/'  ./*

這樣執行就好了,結果如下:

www.linuxidc.com@linuxidc-desktop:~/cyq$ dir

m.php;1  n.php;1  筆記

www.linuxidc.com@linuxidc-desktop:~/cyq$ rename 's//.php;1//.php/'  ./*

www.linuxidc.com@linuxidc-desktop:~/cyq$ dir

m.php  n.php  筆記

www.linuxidc.com@linuxidc-desktop:~/cyq$

三:解釋

rename  's//.php;1//.php/'   ./* 

格式  :

rename   '命令引數/原串/替換後的串/'   目錄檔案

rename  表示重新命名  

s       表示替換

Linux批量更改檔案字尾名

今天又有同學問linux下怎樣批量更改檔案字尾名,這個問題被別人問到三次了,所以這裡給出幾個解決方法 一.rename解決 1.ubuntu系統下 rename s c h 把當前目錄下的字尾名為.c的檔案更改為.h的檔案 2.centos5.5系統下 rename c h c 把當前目錄下的字尾名...

python 批量更改字尾名

coding utf 8 import os if name main old ext input please input the old ext new ext input please input the new ext for path,dirs,filenames in os.walk r...

linux 批量修改檔案字尾名

今天遇到的乙個問題,要將一批jpg檔案字尾名更改為png,憑感覺能用awk指令進行修改,就進行了嘗試。想到的思路是 先列舉出檔名稱,再用awk對檔名稱進行處理分割,最後將字尾名進行修改。首先列舉出檔名稱,得到如圖 之後考慮獲取名稱,如 abad.jpg 再將名稱以 號分割,得到名稱 abad 再進行...