![이름 바꾸기를 사용하여 대문자 이름을 소문자로 바꾸고 문자를 추가하세요.](https://linux55.com/image/98264/%EC%9D%B4%EB%A6%84%20%EB%B0%94%EA%BE%B8%EA%B8%B0%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%8C%80%EB%AC%B8%EC%9E%90%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EC%86%8C%EB%AC%B8%EC%9E%90%EB%A1%9C%20%EB%B0%94%EA%BE%B8%EA%B3%A0%20%EB%AC%B8%EC%9E%90%EB%A5%BC%20%EC%B6%94%EA%B0%80%ED%95%98%EC%84%B8%EC%9A%94..png)
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/' */