2013-12-09 134 views

回答

3

你可以嘗試

i=1; for f in Screen*.png; do mv "$f" "$i.png" ; i=$((i + 1)); done 

或相同的腳本

#!/bin/bash 

i=1 
for f in Screen*.png 
do 
    mv "$f" "$i.png" 
    i=$((i + 1)) 
done 
1

使用(perl的)rename命令:

rename 's/.*\.png/sprintf("file-%04d.png",$=++-59)/e' Screen*png 

而對於keepind時間順序:

rename 's/.*\.png/sprintf("file-%04d.png",$=++-59)/e' $(/bin/ls -1tr Screen*png) 

說明:

rename是安裝在與鹼的Un * X系統的腳本。

在perl中,$=保存當前頁面的長度(默認爲60)。雖然沒有打印。這個變量是,你想;-)

+0

可能被用於任何整型變量這是一個* *絕招:'$ ='持有*紙張長度行*。在我的系統上,'perl -e'打印「$ = \ n」;''給'60'。這就是我的命令行中'-60'的原因。 –

+0

我認爲這也可以在MacOS下工作。反饋歡迎! –

+0

它看起來像個不錯的主意:)我會做一些測試! – fthiella

-1

轉到您的文件夾

TEMP=$(ls) 
j=1 
i=$(ls | wc -l) 
for c in $TEMP; do mv $c $(i-j).png ; done; 
+0

不能用作bash腳本。請你重新檢查一下。 –