태그 보관물: batch-rename

batch-rename

특정 순서로 이미지 이름 바꾸기 동일한 그림의 이름을 501에서

이것은 내 문제입니다. 500 개의 이미지가있는 폴더가 있습니다.

1.jpg
2.jpg
3.jpg

등등..

해당 폴더를 복사했으며 이제 동일한 그림의 이름을 501에서 1000으로 바꾸어야하지만 다음과 같이 순서대로 바꾸십시오.

1.jpg  becomes    501.jpg
2.jpg  becomes    502.jpg
3.jpg  becomes    503.jpg
....

표준 이름 변경 명령을 사용할 때 :

i=501;for img in $(find . -iname '*.jpg'); do echo -n "Converting $img"; mv $img $i.jpg  && echo $i && ((i++)); done

501에서 1000까지 이미지를 주문하지만 모두 흩어져 있습니다.

23.jpg becomes 501.jpg,
66.jpg becomes 502.jpg
...

(그들은 올바른 순서이지만 혼합되어 있습니다)

아마도 내가 누락 된 명령 일 것입니다 …



답변

Xfce의 기본 파일 관리자 인 Thunar를 사용해보십시오 . 매우 가볍고 편리한 대량 이름 바꾸기 도구가 제공됩니다. 터미널에서 다음 명령을 실행하여 Thunar를 설치할 수 있습니다.

sudo apt-get install thunar

아마도 우분투 소프트웨어에서도 설치할 수있을 것입니다.

유틸리티 사용법

  1. Thunar를 설치 한 후 대량 이름 바꾸기 유틸리티를 시작하십시오 .
  2. + 아이콘을 클릭 하고 이름을 바꾸려는 파일을 올바른 순서로 추가하십시오.
  3. 선택한 파일 목록 바로 아래에있는 드롭 다운 상자를 클릭하고 번호 매기기를 선택하십시오 . 옆에있는 상자를 클릭하고 이름 만을 선택하십시오 .
  4. 시작 : “상자에 501을 입력하고 ” 텍스트 : “상자를 비워 두십시오 . 새 이름 열 에서 변경 사항을 미리 볼 수 있습니다.
  5. 변경 사항을 적용하려면 파일 이름 바꾸기 버튼을 클릭하십시오 .

이외에도 번호 매기기 이 유틸리티는 다음과 같은 작업을 지원합니다 :

  • 날짜 / 시간 삽입
  • 삽입 / 덮어 쓰기
  • 문자 제거
  • 검색 및 교체
  • 대문자 소문자

답변

find명령은 ‘디렉토리’순서로 파일을 찾습니다 ( 23.jpg, 66.jpg, …). 당신은 |sort찾기 후에 넣을 수 있습니다.

그러나 귀하의 방법은 너무 복잡합니다.

for i in $( seq 1 500 ) ; do
    j=$(( $i + 500 ))
    mv $i.jpg $j.jpg
done


답변

rename명령.

rename -n 's/^(\d+)/sprintf("%d",$1+500)/e' *.jpg

또는 순수 bash하고 쉘 매개 변수 확장을 사용 합니다.

for FILE in *.jpg; do
    mv "$FILE" "$(( ${FILE%.jpg}+500 )).jpg"
done


답변

당신이 올바르게 묻는 것을 이해했다면 기본 이름 바꾸기 도구를 사용하여 할 수 있다고 생각합니다.

rename 's/^(\d+)/sprintf("%d",$1+500)/e' *.jpg -vn

-vn변경 사항을 적용하려면 테스트 후 (verbose-no action) 스위치를 제거해야합니다 .


답변

쉘 명령으로 이것을 달성하는 또 다른 방법

카운트 = 1 ls; mv $ i CN $ ((count ++)). $ {i ## *.}; 끝난


답변