
많은 파일의 접미사를 대량으로 바꾸려면 어떻게 해야 합니까?
다음과 같은 파일이 많이 있습니다.
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
다른 쉘에도 사용할 수 있습니다(어떤 쉘을 사용하는지 지정하지 않았습니다).
특정 솔루션은 항상 데이터와 목표에 따라 달라집니다. 제거하려는 이름과 접미사 사이에 구분 기호로 '-'가 있는 경우 이 방법을 사용합니다. 그렇지 않은 경우 매개변수 확장을 약간 조정하는 것이 좋습니다.