답변:
Linux에서는 find
모든 관련 파일을 찾은 다음 다음을 사용합니다 rename
.
$ find . -name "*version2*" -exec rename version2 version3 {} \;
편집 :
아래의 @choroba의 의견에 따라이 솔루션은 util-linux 패키지의 일부로 배포 된 이름 바꾸기 (1) 과 관련이 있습니다 .
다른 곳에서 얻은 답변이지만 시도하지 않았으며 최적인지 모르겠습니다.
"원하는대로 우아하지는 않지만"* .txt "파일 끝에"-kr "이"-patient-123 "으로 바뀝니다."
검색 . -type f -iname '* .txt'| 펄-네 'cho 프; 내 $ orig = $ ; if (s / -kr (.txt) $ /-patient-123 $ 1 /) {print "$ orig \ 0 $ \ 0"; } '| xargs -0rn2 mv -i
"파일 이름 만 수행하면 다음과 같이 폴더를 별도로 수행 할 수 있습니다."
검색 . 타입 d | 전술 | 펄-네 'cho 프; 내 $ orig = $ ; if (s / -kr $ /-patient-123 /) {print "$ orig \ 0 $ \ 0"; } '| xargs -0rn2 mv -i
rename
인수의 의미가 완전히 다른 두 가지 명령이 있습니다.