linux 批量改檔名

2021-05-28 10:17:53 字數 677 閱讀 2610

本文由

@lonelyrains

這些天來,學了一下shell下的find和xargs、awk、sed、tr命令,碰巧網上下的幾個網頁,都自動帶上了".重新命名" 字尾,一時不知道怎麼解決。參考了一下網上的修改字尾大小寫什麼的,直接套用,去掉".重新命名"出錯。想了半天不知道為什麼。

閒話不說,直接貼批量去掉檔案".重新命名"字尾的命令列**:

ls | sed 's/\.重新命名//p' -n | awk '' | /bin/sh

解釋一下意思:①ls表示把當前目錄的所有檔案一一枚舉出來,這樣會有一段檔名列表的字元流顯示在終端,

然後利用管道把這段字元流交由sed命令處理

②sed 's/\.重新命名//p' -n表示將得到的字元流中,".重新命名"部分去掉,並且只列印有且去掉".重新命名"的那些記錄(ls當前目錄可能不只有這樣的檔案

)。's/\.重新命名//p' -n 中的s表示替換,//表示替換成空,p表示列印這些行,-n表示不列印沒有修改過的行

③awk '表示把接到的字元流行讀取時,列印mv命令。例如假設讀到一行為"hello world.htm",則列印「mv "hello world.htm.重新命名" "hello world.htm"」(最外層用漢語的引號說明,以免混淆)

④這是我覺得指令碼最強大的地方。能夠直接把生成的字元流通過管道交由/bin/sh處理。這句就不用多介紹了。

怎樣實現批量改檔名

我在e盤下有個資料夾e ktv,裡面又有子資料夾多個,各資料夾下有上千個mtv檔案,檔名形如 黃家強 遙望 演 粵語 2501015.mpg 陳艾湄 高明駿 我悄悄蒙上你的眼睛 國語 116756.mpg 姜玉陽 我想找個女朋友 mtv 國語 2233002.mpg 現在想全部更改檔名,只留下歌手和...

Linux 批量修改檔名

linux shell 批量重新命名的方法總覽 1 刪除所有的 bak 字尾 rename s bak bak 2 把 jpe 檔案字尾修改為 jpg 3 把所有檔案的檔名改為小寫 rename y a z a z 4 將 abcd.jpg 重新命名為 abcd efg.jpg 5 將 abcd e...

檔名 EXCEL批量修改檔名

場景一 面臨問題 將圖紙匯出為pdf格式時,因首字母按拼音排序,導致圖紙順序錯亂,需要在檔名前插入編號,以使檔案按照理想狀態排序。如下圖,預設的 按名稱排序 狀態為 節點 立面 平面 而理想的狀態為 平面 立面 節點 解決辦法 儲存,關閉文字文件。將字尾名 txt 修改為 bat 雙擊執行 提取檔名...