어떻게 리 눅 스에 서 한꺼번에 파일 이름 을 바 꿉 니까?

4417 단어 linux
리 눅 스에 서 우 리 는 파일 이름 을 바 꾸 는 데 보통 mv 명령 을 사용 합 니 다. 이것 은 하나의 파일 이름 을 바 꿀 때 매우 편리 합 니 다.그러나 우리 가 파일 의 이름 을 바 꾸 려 면 mv 힘 이 없다.하지만 괜 찮 습 니 다. 오늘 은 이름 을 대량으로 바 꿀 수 있 는 명령 rename 을 소개 합 니 다.
다음은 명령 의 용법 을 상세히 소개 하 겠 습 니 다.rename 명령 과 달리 mv 명령 은 신 구 파일 이름 만 간단하게 지정 하면 되 는 것 이 아니다.반면 rename 와 유사 한 정규 표현 식 을 사용한다.우리 먼저 예 를 보 자.
$ rename 's/old/new/' this.old
$ ls this*
this.new

그 중에서 Perl 의 역할 은 우리 s 를 지정 하여 this.old 로 바 꾸 는 것 이다.
어떤 사람 이 물 어 볼 수도 있 습 니 다. 위의 예 는 우리 가 this.new 이 명령 을 사용 하 는 것 이 더 편리 하지 않 습 니까?맞습니다. 하지만 이 명령 은 한 번 에 한 파일 만 이름 을 바 꿀 수 있 습 니 다. 오늘 우리 가 해 야 할 일 은 한 그룹의 파일 이름 을 한꺼번에 바 꾸 는 것 입 니 다.
어떻게 할 까요?간단 합 니 다. 아래 의 예 를 보 세 요.
$ ls *.old
report.old  schedule.old  stats.old  this.old
$ rename 's/old/new/' *.old
$ ls *.new
report.new  schedule.new  stats.old  this.new

이상 의 결 과 를 통 해 알 수 있 듯 이 이 간단 한 명령 의 조작 을 통 해 우 리 는 현재 디 렉 터 리 아래 의 모든 mv this.old this.new 끝 에 있 는 파일 을 .old 끝 에 있 는 파일 로 이름 을 바 꿀 수 있 습 니 다. 간단 하고 효율 적 입 니 다!
그것 이 .new 명령 의 전부 라 고 생각한다 면 그것 은 도안 투 슨 이 깨 진 것 이다.rename 명령 은 파일 확장자 변경 에 국한 되 지 않 고 파일 이름 의 임의의 문자열 도 변경 할 수 있 습 니 다.예 를 들 어 rename 라 는 파일 을 report.* 로 변경 하려 면 다음 명령 을 사용 할 수 있 습 니 다.
$ rename 's/report/review/' *

정규 표현 식 에서 제공 하 는 규칙 은 파일 이름 의 임의의 부분 을 변경 할 수 있 습 니 다. 파일 이름 이 든 확장자 든.
$ rename 's/123/124/' *
$ ls *124*
status.124  report124.txt

어떤 변경 사항 이 있 는 지 확인 하고 오류 수정 을 피 하려 면 review.* 옵션 을 사용 하 십시오.
$ rename -v 's/123/124/' *
status.123 renamed as status.124
report123.txt renamed as report124.txt
rename 옵션 은 텍스트 를 바 꿀 때 미리 보 여 주 는 것 입 니 다. 바 꿀 때 미리 보 여 주 는 것 입 니 다. 효율 이 낮 습 니 다.만약 내 가 전체적으로 미리 보 기 를 원한 다 면, 문제 가 없 음 을 확인 할 때 한꺼번에 모두 수정 하고, 어떻게 조작 합 니까?
우 리 는 -v 또는 -v 옵션 을 사용 하여 -n 명령 이 위의 수 요 를 실현 하도록 할 수 있다.
$ rename -n 's/old/save/' *
rename(logger.man-old, logger.man-save)
rename(lyrics.txt-old, lyrics.txt-save)
rename(olderfile-, saveerfile-)
rename(oldfile, savefile)
rename(review.old, review.save)
rename(schedule.old, schedule.save)
rename(stats.old, stats.save)
rename(this.old, this.save)

위의 변경 사항 에 문제 가 없다 면 --nono 옵션 을 제거 하여 파일 이름 을 정식으로 수정 할 수 있 습 니 다.rename 정규 표현 식 의 -n 은 일반적인 영문 마침표 가 아니 라 임의의 문자 와 일치 하 는 마스크 를 말 합 니 다. 아래 명령 을 참고 하여 이해 할 수 있 습 니 다.
$ rename -n 's/.old/.save/' *
rename(logger.man-old, logger.man.save)
rename(lyrics.txt-old, lyrics.txt.save)
rename(review.old, review.save)
rename(schedule.old, schedule.save)
rename(stats.old, stats.save)
rename(this.old, this.save)

상기 사례 에서 rename. 로 수정 되 었 을 뿐만 아니 라 .old 역시 .save 로 바 뀌 었 다.
만약 당신 이 -old 에 게 마침 표를 표시 하려 면 .save 전의 기 호 를 추가 해 야 합 니 다. 즉, . 를 사용 하여 영어 마침 표를 표시 해 야 합 니 다 \.
$ rename -n 's/\.old/\.save/' *
rename(review.old, review.save)
rename(schedule.old, schedule.save)
rename(stats.old, stats.save)
rename(this.old, this.save)

대문자 모 두 를 소문 자로 바 꾸 려 면 다음 명령 을 사용 할 수 있 습 니 다.
$ rename -n 'y/A-Z/a-z/' W*
rename(WARNING_SIGN.pdf, warning_sign.pdf)
rename(Will_Gardner_buttons.pdf, will_gardner_buttons.pdf)
rename(Wingding_Invites.pdf, wingding_invites.pdf)
rename(WOW-buttons.pdf, wow-buttons.pdf)

그 중에서 \. 미리 보기 로 변경 할 것 입 니 다. . 대소 문자 변경 을 표시 합 니 다.
위의 예제 에서 우 리 는 대문자 -n 로 시작 하 는 모든 파일 이름 을 소문 자로 바 꾸 었 다.
총결산
단일 파일 의 이름 을 바 꾸 려 면 y 명령 을 사용 할 수 있 습 니 다.한 그룹의 파일 이름 을 바 꾸 려 면 W 명령 을 사용 하 는 것 이 더 편리 합 니 다. mv 명령 을 사용 하려 면 rename 옵션 을 추가 하 는 것 이 좋 습 니 다. 먼저 변경 할 것 을 미리 보고 오류 가 없 는 지 확인 한 후에 이름 을 바 꾸 어 의외 의 일이 발생 하지 않도록 하 는 것 이 좋 습 니 다.
저 는 양 허 입 니 다. 세계 500 대 외국 기업 리 눅 스 개발 엔지니어 로 리 눅 스 건 화 를 전문 적 으로 생산 합 니 다.저의 공식 적 인 '양 허 리 눅 스' 에 관심 을 가 져 주 십시오. 리 눅 스 입문, 기초, 진급 등 일련의 튜 토리 얼 을 공유 하 는 동시에 Git, Vim, 오픈 소스 프로젝트 등 기술 건어물 도 있 습 니 다.

좋은 웹페이지 즐겨찾기