Mac OS X의 파일 확장자를 일괄 적으로 변경 하시겠습니까? 이름이 같은 경우

wget을 사용하여 웹 사이트를 폴더로 다운로드했습니다. 파일 이름이 같은 경우 wget은 새 파일을 name.extension으로 저장합니다.

이제는 1.jpg, 1.jpg.1, 1.jpg.2 등의 파일이 수백 개 있습니다.

.jpg * 확장자를 가진 모든 파일을 일반 .jpg 파일로 변경하려면 어떻게합니까?

편집 : 나는 Extension을 변경하기 전에 EXIF ​​데이터로 정리할 수 있도록 프리웨어 NameChanger를 사용했습니다.



답변

용도 맹글 러 이름 이것을하기 위해. 셰어웨어,하지만 : 평가판 : Name Mangler는 제한없이 25 회 출시 될 예정입니다.

원래의 파일 이름과 미래의 파일 이름을 왼쪽에서 볼 수 있으며 번호 순차적으로 나는 오른쪽에서 사용했다. 여기서 중요한 것은 수동으로 정의하는 것입니다. .jpg 접미사를 추가하고 원래 확장자를 추가하지 않습니다.

Screenshot of suitable configuration


무료 NameChanger 또한 이것을 할 수 있습니다. (감사 슬하 크 !)

Screenshot of suitable configuration


답변

네가 원한다고 생각하고있어. 1.jpg.1 이름을 바꿀 1-1.jpg, 또는 당신이 그들을 잃을거야.
빠르고 더러운 것이 마음에 온다. sed 즉석에서 쉘 스크립트를 만들고 sh 그것을 실행하십시오 :

$ ls -1 *jpg* | sed -e 's@\(.*\)\(\.jpg\.\)\(.*\)@mv \1\2\3 \1-\3.jpg@' | grep ^mv | sh

강력하게 전에 출력을 확인하는 것이 좋습니다. sh 그것이 실제로 올바른 일을 할 수 있는지 확인하십시오.


답변

IFS=$'\n'; for f in `find . -name '*.jpg.*'`; do echo mv "$f" "`sed -E 's/(.*)\.jpg\.(.*)/\1-\2.jpg/' <<< "$f"`"; done

모든 하위 폴더의 파일에 적용되며 공백이있는 파일 이름으로 작업해야하는 다른 버전입니다.


답변

이것은 터미널에서 여러 파일의 이름을 바꾸는 방법을 기억하기 쉽습니다.

rename 's/\.jpg.1/\.jpg/' *.jpg.1

각 확장 다음에 확장명을 넣으십시오. /\. 두 번째 인수에 기존 파일을 지정해야합니다 ( *.jpg.1 이 경우)


답변