어떻게 리 눅 스에 서 한꺼번에 파일 이름 을 바 꿉 니까?
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, 오픈 소스 프로젝트 등 기술 건어물 도 있 습 니 다.