2014-11-06 4 views
0

에있는 모든 파일의 이름과 번호를 빼면, 나는 다음과 같은 파일과 비슷한 이름의 파일 디렉토리에서 디렉토리

0069.png 0074.png 0079.jpg 0084.png 

등을 가지고있다.

어떻게 이름을 bash에서 빼고 이름을 바꿀 수 있습니까?

예를 들어, 17을 차감 한 후, 파일은 전술

0052.png 0057.png 0062.jpg 0067.png 

감사 것이다.

답변

1

이름을 바꾸려는 jpg 및 png 파일이있는 디렉토리에서 아래의 rename 명령을 사용할 수 있습니다.

-v, --verbose 
      Verbose: print names of files successfully renamed. 

-n, --no-act 
      No Action: show what files would have been renamed. 

은 위의 명령에서 -vn을 제거 man rename에서

$ rename 's/^0*\K(\d+)/$1-17/e' *.* -vn 
0069.png renamed as 0052.png 

는, 이름 변경을 할 수 있습니다. e 수정자를 사용하면 대체 부분에서 표현식을 평가할 수 있습니다.

강제로 이름을 바꾸려면 -f 옵션을 추가하십시오.

rename 's/^0*\K(\d+)/$1-17/e' *.* -f 

예 : 당신이 rename``실행중인

$ 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 
+0

. 'rename from util-linux 2.23.2'에는'-n' 옵션이 없습니다 ?? –

+0

@ DavidC.Rankin n은 행동을 의미하지 않습니다. 출력 결과를 표시합니다. –

+0

util-linux의'rename' 명령은'-v verbose', LInux의'-s symlink'만을 지원합니다 (도움말과 버전도 있습니다). Linux를 사용하고 있습니까? –

관련 문제