'y/AZ/az/' 이름 바꾸기 *는 Linux용 Windows 하위 시스템(wsl)에서 작동하지 않습니다.

'y/AZ/az/' 이름 바꾸기 *는 Linux용 Windows 하위 시스템(wsl)에서 작동하지 않습니다.

이렇게 하면 파일이 이미 존재한다고 나옵니다.

예제 출력:

rename 'y/A-Z/a-z/' *
Totemic-1.12.2-0.11.6.jar not renamed: totemic-1.12.2-0.11.6.jar already exists
TreeChoppin-1.12.2-1.0.0.jar not renamed: treechoppin-1.12.2-1.0.0.jar already exists
UniDict-1.12.2-2.9.3.jar not renamed: unidict-1.12.2-2.9.3.jar already exists
VanillaFix-1.0.10-99.jar not renamed: vanillafix-1.0.10-99.jar already exists
WailaHarvestability-mc1.12-1.1.12.jar not renamed: wailaharvestability-mc1.12-1.1.12.jar already exists
WanionLib-1.12.2-2.4.jar not renamed: wanionlib-1.12.2-2.4.jar already exists

WSL에서 어떻게 작동하게 할 수 있나요? 내 Ubuntu 시스템에서 완벽하게 작동합니다.

답변1

나는 이것이 대소문자를 구분하지 않는 파일 이름과 관련이 있다고 가정하고 있으므로 rename대상 파일이 존재하는지 확인하면 원본 파일을 보고 손상을 방지하기 위해 중지됩니다.

내 시스템의 Perl 이름 바꾸기에는 이 옵션이 있으며 여기서는 작동할 것 같습니다.

-f, -force
           Over write: allow existing files to be over-written.

이것이 작동하지 않더라도 단순한 대소문자 변경 이상의 이름으로 파일 이름을 바꿀 수 있어야 합니다. 예를 들어 x시작 부분에 하나를 추가한 다음 대소문자를 변경할 때 제거합니다 x.

rename 'y/A-Z/a-z/; s/^/x/' *
rename 's/^x//' *

foo(물론 파일 이름이 and 인 경우에는 작동하지 않지만 xfoo언제든지 접두사를 다른 것으로 변경할 수 있습니다.)

관련 정보