디렉토리의 여러 파일 이름 바꾸기 - sed 또는 rename 명령을 사용하십시오.

디렉토리의 여러 파일 이름 바꾸기 - sed 또는 rename 명령을 사용하십시오.

다양한 sed, mvrename명령을 시도했지만 여전히 파일 이름을 바꿀 수 없습니다. 50개 이상의 파일이 있습니다. 찾은 명령을 사용해 보았습니다. 도와주세요.

원본 파일 이름:

PAGES_TEST1_SART1.XML
PAGES_TEST2_SART2.XML
PAGES_TEST3_SART3.XML
PAGES_TEST4_SART4.XML

도착하다

PAGES_PROD1_SART1.XML
PAGES_PROD2_SART2.XML
PAGES_PROD3_SART3.XML
PAGES_PROD4_SART4.XML

답변1

사용진주의rename(모든 운영 체제에서 작동):

rename -n 's/TEST/PROD/g' ./*TEST*.XML

스위치 삭제 -n, 일명.시운전당신의 시도가 만족스러울 때실제 이름으로 변경.

답변2

rename어느 것을 사용하고 있습니까? 그리고

$ rename --version
rename from util-linux 2.39.3

다음으로 시작하세요:

$ ls -1
PAGES_TEST_SART1.XML
PAGES_TEST_SART2.XML
PAGES_TEST_SART3.XML
PAGES_TEST_SART4.XML
PAGES_TEST_SART5.XML
PAGES_TEST_SART6.XML
PAGES_TEST_SART7.XML
PAGES_TEST_SART8.XML
PAGES_TEST_SART9.XML

넌 할 수있어:

$ rename TEST PROD *

그리고 얻다:

$ ls -1
PAGES_PROD_SART1.XML
PAGES_PROD_SART2.XML
PAGES_PROD_SART3.XML
PAGES_PROD_SART4.XML
PAGES_PROD_SART5.XML
PAGES_PROD_SART6.XML
PAGES_PROD_SART7.XML
PAGES_PROD_SART8.XML
PAGES_PROD_SART9.XML

답변3

어쩌면 이 라인을 따라 (bash의 경우):

for f in \`ls | grep PAGES_TEST\`; do mv $f $(echo $f | sed 's/TEST/PROD/'); done

마지막에 확인 표시를 참고하세요.

관련 정보