파일 이름의 이중 하이픈을 단일 하이픈으로 변경하는 방법은 무엇입니까?

파일 이름의 이중 하이픈을 단일 하이픈으로 변경하는 방법은 무엇입니까?

rename나는 내 시스템의 명명 규칙을 제어하기 위해 이 명령을 사용해 왔습니다 . 파일 이름의 공백을 하이픈으로 변환하는 동안 일부 파일 이름에 실수로 연속 하이픈이 생성되었습니다. 이러한 문제는 rename 명령을 사용하여 해결하기 어려운 것으로 나타났습니다.

나는 성공하지 못한 채 다음과 같은 몇 가지 다른 반복을 시도했습니다.

rename 's/--/-/g'

나는 이중 하이픈이 매개변수 끝을 위해 예약되어 있다는 것을 알고 있지만 백슬래시 이스케이프는 여기서는 작동하지 않는 것 같으며 다른 아이디어가 없습니다.

저는 명령줄 처리에 비교적 익숙하지 않기 때문에 양해해 주셔서 감사합니다.

답변1

현재 디렉터리의 모든 파일에 대한 여러 하이픈(하이픈 뒤에 하나 이상의 하이픈이 있음)을 단일 하이픈으로 압축하려면 다음을 사용하세요.

rename 's/--+/-/g' -- *

파일이 하이픈으로 시작하는 경우 이는 --중요합니다. 그렇지 않으면 명령줄 인수로 해석됩니다. *현재 디렉터리의 파일 목록을 확장합니다 .

관련 정보