把當前目錄(包含子目錄)下所有后綴為“.sh”的文件后綴更改為“.shell”


今天參加了一場面試,有道筆試題,把當前目錄(包含子目錄)下所有后綴為“.sh”的文件后綴更改為“.shell”。我當時想到的是用shell腳本解決,思路是先找到所有后綴為.sh的文件,然后截取文件名及路徑部分,使用mv命令重命名。但是我當時寫的有點問題,下面是修改的版本。

#!/bin/bash

find ./ -name "*.sh" | awk -F '.sh' '{print $1}' | while read filename
do
    mv $filename.sh $filename.shell
done

補充更新:查了下資料,發現有個rename命令更加快捷,之前沒有用過,用法還挺簡單的

# 修改當前目錄(不包含子目錄)下的文件
rename .sh .shell *.sh

# 修改當前目錄(包含子目錄)下的文件
rename .sh .shell $(find ./ -name "*.sh")


免責聲明!

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



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