폴더 세트의 파일 이름에서 "-" 뒤의 모든 문자를 제거하는 방법

폴더 세트의 파일 이름에서 "-" 뒤의 모든 문자를 제거하는 방법

일괄 이름을 바꾸려는 폴더가 400개가 넘습니다. 모든 폴더 이름은 "-"로 끝나고 그 뒤에 문자열이 옵니다. 폴더 이름 끝의 "-"와 "-" 뒤의 모든 문자를 제거하고 싶습니다.

예:

~/Dubdilla Location Fix-4672010158-2463235/도착하다~/Dubdilla Location Fix/

사용해 보았는데 rename -a 's/[-].*//' *[-]*오류가 반환되지 않지만 명령은 "작동"하는 것 같지만 폴더 이름은 변경되지 않습니다.

답변1

그리고 zsh:

autoload -Uz zmv

(당신은 이것을 당신의 것에 추가하고 싶을 수도 있습니다 ~/.zshrc) 그런 다음:

zmv -n '*-*(#q/)' '${f%%-*}'

또는 재귀적으로:

zmv -n '(**/)(*-*)(#q/)' '$1${2%%-*}'

만족스러우면 삭제 -n(테스트 실행)합니다.

숨겨진 디렉터리는 건드리지 않는다는 점에 유의하세요( D q이에 대한 한정자를 추가할 수 있습니다).

관련 정보