Linux遞歸修改后綴名實現(xiàn)方式
1、修改命令
需要用到:
findawkxargs
遞歸修改命令如下:
find . -name '*.XXX' | awk -F "." '{print $2}' | xargs -i -t mv ./{}.XXX ./{}.XXXX
把XXX后綴修改為XXXX。
2、find
find用來在指定目錄下查找文件,位于參數(shù)之前的字符串都被視為需要查找的目錄。
find . -name '*.XXX'中:
.:表示當前文件夾-name:表示文件名符合name的文件,有一個類似的-iname會忽略大小寫*.XXX:表示尋找所有的XXX后綴的文件
其他常用例子:
find . -type f:遞歸列出一般文件find . -ctime -20:遞歸列出最近20天內(nèi)更新過的文件find /var/log -type f -mtime +7 -ok rm {} \;:查找/var/log下更新時間在7日以前的普通文件,并在刪除之前詢問find . -type f -perm 644 -exec ls -l {} \;:查找當前目錄下權(quán)限為644的文件find / -type f -size 0 -exec ls -l {} \;:查找/下文件大小為0的普通文件并列出完整路徑
3、awk
awk是一種處理文本文件的語言,是一個強大的分析工具。
awk -F "." '{print $2}'中:
-F:指定輸入文件拆分分隔符,因為需要修改后綴名,后綴名與主文件名由.分隔,因此后面加上"."參數(shù)'{print $2}':print表示打印,$在awk中表示字段引用,這里$2表示引用第二個字段,字段根據(jù)前面的-F參數(shù)進行分隔。- 因為
find打印出來的是./a/b/c.XXX,因此print $2會打印其中第二個字段,就是路徑/a/b/c,而print $1為空(因為第一個.之前沒有其他內(nèi)容),print $3為后綴名
4、xargs
xargs是給命令傳遞參數(shù)的一個過濾器,可以將管道或者標準輸入數(shù)據(jù)轉(zhuǎn)換為命令行參數(shù),默認的命令為echo。使用xargs可以對不支持管道的命令添加類似管道的功能,比如:
find . -name '*.jpg' | ls -l # 錯誤,但是能執(zhí)行,執(zhí)行的結(jié)果僅僅是ls -l的結(jié)果 find . -name '*.jpg' | xargs ls -l # 正確
xargs -i -t mv ./{}.XXX ./{}.XXXX中:
-i:表示將xargs的每項名稱,一般是一行一行賦值給后面的{}-t:可選,表示先打印需要執(zhí)行的命令(這里是先打印mv)再執(zhí)行mv:重命名{}:配合-i使用,這里的{}表示前一步awk中的路徑名,對每一個路徑都執(zhí)行一次mv,也就是修改后綴名
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux CentOs7 ping網(wǎng)址未知的名稱或服務(wù)問題
文章介紹了如何在Linux虛擬機中解決IP地址配置問題的步驟,包括檢查IP、查看網(wǎng)絡(luò)配置、編輯網(wǎng)絡(luò)配置文件以及重啟網(wǎng)絡(luò)服務(wù),最終成功獲取IP地址并能ping通2024-12-12
Linux使用dd命令來復(fù)制和轉(zhuǎn)換數(shù)據(jù)的操作方法
Linux 中的 dd 命令是一個功能強大的數(shù)據(jù)復(fù)制和轉(zhuǎn)換實用程序,它以較低級別運行,通常用于創(chuàng)建可啟動的 USB 驅(qū)動器、克隆磁盤和生成隨機數(shù)據(jù)等任務(wù),本文給大家介紹了Linux 如何使用dd命令來復(fù)制和轉(zhuǎn)換數(shù)據(jù),需要的朋友可以參考下2025-01-01
一文詳解Linux系統(tǒng)下文件操作相關(guān)的系統(tǒng)調(diào)用
在Linux系統(tǒng)中,文件操作是程序開發(fā)中不可或缺的一部分,Linux提供了豐富的系統(tǒng)調(diào)用來實現(xiàn)文件的讀寫、打開、關(guān)閉以及控制等功能,本文將詳細闡述Linux系統(tǒng)中文件操作相關(guān)的系統(tǒng)調(diào)用,需要的朋友可以參考下2025-11-11

