이름 바꾸기를 사용하여 대문자 이름을 소문자로 바꾸고 문자를 추가하세요.

이름 바꾸기를 사용하여 대문자 이름을 소문자로 바꾸고 문자를 추가하세요.

Linux에서는 rename여러 디렉터리의 이름을 바꾸는 데 사용됩니다. 대문자로 시작하는 디렉토리의 이름을 소문자로 바꾸고 _첫 글자 앞에 특수 문자를 추가하고 싶습니다.

Myfile예를 들어 이름을 다음 으로 바꾸고 싶습니다 ._myfile

지금까지 내가 생각해낸 최고는 다음과 같습니다.

rename -n 'y/[A-Z]/[a-z]' *

하지만 이 정규식에 내 역할을 추가하면 다음 오류가 발생합니다.

rename -n 'y/[A-Z]/_[a-z]' *
Replacement list is longer than search list at (eval 90) line 1.

정규식에 특수 문자를 추가하는 방법은 무엇입니까?

답변1

하다:

rename -n 's/^([A-Z])/_\L$1/' */
  • ^([A-Z])캡처된 그룹 1로 시작하는 모든 대문자와 일치하고 포함됩니다.

  • 대체에서는 \L캡처된 그룹 1( )을 소문자로 바꾸고_

  • */디렉터리만 일치

-n실제 이름 바꾸기 작업을 수행하려면 삭제하세요 .

rename 's/^([A-Z])/_\L$1/' */

관련 정보