일괄 이름 변경, 접미사 변경?

일괄 이름 변경, 접미사 변경?

많은 파일의 접미사를 대량으로 바꾸려면 어떻게 해야 합니까?

다음과 같은 파일이 많이 있습니다.

  • NameSomthing-min.png
  • NameSomthing1-min.png
  • NameSomthing2-min.png

나는 그것들을 모두 다음과 같이 바꾸고 싶습니다.

  • NameSomthing.png
  • NameSomthing1.png
  • NameSomthing2.png

-min즉, 이름에서 문자를 제거합니다 . 어떻게 해야 할까요?

답변1

이 스크립트가 도움이 될 수 있습니다.

for file in *-min.png; do
    echo mv "$file" "${file%-min.png}.png"
done

실제로 명령을 실행하려면 에코를 제거하십시오.

답변2

그것은 쉘에 따라 다릅니다. 나는 을 사용하는데 zsh, 이것이 내가 하는 방식이다:

for i in *-min.*; do mv $i "${i%-*}.${i#*.}"; done

쉘의 맨페이지를 확인하고 "매개변수 확장"과 유사한 섹션을 확인하는 것이 좋습니다.zsh매뉴얼 페이지).

유사한 솔루션을 bash다른 쉘에도 사용할 수 있습니다(어떤 쉘을 사용하는지 지정하지 않았습니다).

특정 솔루션은 항상 데이터와 목표에 따라 달라집니다. 제거하려는 이름과 접미사 사이에 구분 기호로 '-'가 있는 경우 이 방법을 사용합니다. 그렇지 않은 경우 매개변수 확장을 약간 조정하는 것이 좋습니다.

관련 정보