여러 파일의 접미사를 일괄적으로 바꾸는 방법은 무엇입니까?
나는 다음과 같은 많은 파일을 가지고 있습니다
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
비슷한 솔루션이 다른 셸에서도 작동합니다(사용할 셸을 지정하지 않았습니다).
특정 솔루션은 항상 데이터와 목표에 따라 달라집니다. 이름과 접미사 사이의 구분 기호인 "-"를 제거하려면 그렇게 하면 됩니다. 그렇지 않은 경우 매개변수 확장을 약간 조정해야 할 수도 있습니다.