0
從所有文件的名稱一些在目錄中,我有以下文件減去一個目錄
0069.png 0074.png 0079.jpg 0084.png
多的類似命名的文件。
如何通過從bash中減去一個數字來改變他們的名字?
例如,減去17之後,文件上面會
0052.png 0057.png 0062.jpg 0067.png
感謝。
從所有文件的名稱一些在目錄中,我有以下文件減去一個目錄
0069.png 0074.png 0079.jpg 0084.png
多的類似命名的文件。
如何通過從bash中減去一個數字來改變他們的名字?
例如,減去17之後,文件上面會
0052.png 0057.png 0062.jpg 0067.png
感謝。
您可以在要重命名的jpg和png文件所在的目錄中使用以下rename命令。
$ rename 's/^0*\K(\d+)/$1-17/e' *.* -vn
0069.png renamed as 0052.png
man rename
從,
-v, --verbose
Verbose: print names of files successfully renamed.
-n, --no-act
No Action: show what files would have been renamed.
從上述命令刪除-vn
做重命名。 e
修飾符允許在替換部分中評估表達式。
添加-f
選項來強制重命名。
rename 's/^0*\K(\d+)/$1-17/e' *.* -f
例子:
$ ls
1.jpg 2.png
$ rename 's/^0*\K(\d+)/$1+1/e' *.* -fvn
1.jpg renamed as 2.jpg
2.png renamed as 3.png
你在運行'rename'上。在'util-linux 2.23.2'重命名中沒有'-n'選項? – 2014-11-06 01:18:55
@ DavidC.Rankin n表示不行爲。它只是顯示輸出的結果。 – 2014-11-06 01:21:31
來自util-linux的'rename'只支持LInux上的'-v verbose','-s symlink'(幫助和版本也可用)。你在Linux上嗎? – 2014-11-06 01:24:21