2013-12-09 3 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

같은 (펄) rename 명령을

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

그리고 keepind 연대순 주문 :

,323,210

는 설명 :

rename베이스 취소 * 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 스크립트로 작동하지 않습니다. 다시 확인해 주시겠습니까? –

관련 문제