Linux
Linux重命名文件以在副檔名之前的文件名之後添加_00
我在這裡錯過了什麼,這看起來很簡單,但我無法讓它工作。
我有一個目錄,其中包含 AGNDRAH01.jpg 之類的文件
我想要一個包含 APGPNDRAH01_00.jpg 等文件的目錄
rename 's/(\w+).jpg\$1\_00.jpg$//' *
不,工作。Centos Linux。對我來說為什麼這不起作用毫無意義。
快速破解,可以完成您在 bash 中描述的操作:
cd /directory for F in `ls -1 |awk -F. '{print $2}'` do mv $F.jpg ${F}_00.jpg done
對於重命名用法:
wmoore@bitbucket(/tmp/dowork)$ ls -1 1.jpg 2.jpg 3.jpg 4.jpg 5.jpg wmoore@bitbucket(/tmp/dowork)$ rename .jpg _00.jpg *.jpg wmoore@bitbucket(/tmp/dowork)$ ls -1 1_00.jpg 2_00.jpg 3_00.jpg 4_00.jpg 5_00.jpg
嘗試以下 bash 腳本:
find . -type f -name "*.jpg" -print | while read FILE do mv "${FILE}" "`dirname ${FILE}`/`basename ${FILE} .jpg`_00.jpg" done
這將在目前目錄中或目前目錄下找到所有 .jpg 文件並在 .jpg
_00
之前插入.jpg
。如果您只希望它處理目前目錄,請使用 find 命令啟動find . -maxdepth 1