ABC_asd_f.txt
, , ... DEF_qwe_r.txt
같은 파일이 있습니다 .
첫 번째 밑줄 앞의 대문자를 그 뒤의 소문자로 바꾸는 방법은 무엇입니까? 그래서 그것은 , ABC_asd_f.txt
되었다 , ...asd_f_ABC.txt
DEF_qwe_r.txt
qwe_r_DEF.txt
답변1
Perl을 사용하여 이름을 바꿉니다. -n
플래그를 사용하여 테스트 실행을 시작하세요 .
rename -n 's/^(...)_(..._.)/$2_$1/' *
그런 다음, 만족스러우면 실제로 실행해 보세요.
rename 's/^(...)_(..._.)/$2_$1/' *
설명하다
이는 캡처 그룹을 사용합니다.
rename 's/foo/bar/' *
: 모든 파일foo
로 대체됩니다 .bar
*
^(...)_(..._.)
: 줄의 시작 부분에서 시작하여^
처음 세 문자를 캡처하고(...)
건너뛴_
다음 네 번째 문자가 밑줄인 다음 5개 문자를 캡처합니다(..._.)
.$2_$1
: 위의 문자열을 반대 캡처 그룹(예: 두 번째, 밑줄, 첫 번째)으로 바꿉니다.
버전 이름 바꾸기
rename
Linux 세계에는 두 개의 가 있습니다. 다음을 사용하여 Perl 이름 바꾸기인지 알 수 있습니다.
$ rename --version
perl-rename 1.9
다른 하나는 다른 결과를 제공합니다.
$ rename --version
rename from util-linux 2.28