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/' */