일괄 이름 바꾸기 파일

일괄 이름 바꾸기 파일

이름 형식이 일치하지 않는 사진 파일이 여러 개 있습니다.

  • 노스 비치.JPG
  • 사우스 비치 sm.jpg
  • 브라이스 윈드서핑.jpg
  • DSC01031 1024x.jpg
  • DSC02652 sm.jpg 편집
  • DSC03229 sm.jpg
  • 어린이를 위한 카약 2.jpg
  • 마우이 5-05 (31) 1024.jpg
  • 마우이 가을 05 (41) sm.jpg
  • 마우이 고래(2) sm.jpg
  • 마우이 고래(6) ed.jpg
  • P1000018 sm.jpg
  • P1000030 sm.jpg
  • P1000056 sm.jpg
  • P1000148 sm.jpg
  • P1000397 sm.jpg
  • P1000490 sm.jpg
  • P1000629 sm.jpg
  • P1000995 sm.jpg
  • P1010006 1024.jpg
  • P1010089 1024x.jpg
  • P1050988edsm.jpg

확장명 이름을 바꾸는 대신 목록의 첫 번째 .jpg 이름을 1.jpg, 두 번째 2.jpg, 세 번째 3.jpg 등으로 바꿉니다. 명령 하나로 이 작업을 어떻게 수행할 수 있나요?

답변1

쉘에서 루프를 사용하십시오.

for x in * ; do mv -- "$x" "$((i=i+1)).jpg" ; done

현재 디렉터리에 있는 각 파일을 한 번에 하나씩 살펴보고, 호출한 다음 , 매번 1씩 증가하면서 x해당 위치로 이동합니다 . $i.jpg$i$((...))산술 확장, 할당은 할당된 값을 반환하므로 i매번 새로운 숫자가 수정되어 반환됩니다.

예를 들어 다른 디렉터리에서 이 작업을 여러 번 수행하려면 그 사이에 카운터를 재설정해야 합니다. 라고 말하거나 명령 시작 부분 i=0에 입력하면 됩니다.i=0;

관련 정보