bash 스크립트를 사용하여 후행 숫자를 상수로 늘려 여러 파일의 이름을 바꿉니다.

bash 스크립트를 사용하여 후행 숫자를 상수로 늘려 여러 파일의 이름을 바꿉니다.

내 디렉토리에 다음 파일이 있습니다.

mmm.1
mmm.2
mmm.3
.
.
.
.
.

이름을 다음과 같이 바꾸고 싶습니다.

mmm.31
mmm.32
mmm.33
.
.
.

각 파일 이름의 뒤에 오는 숫자에 숫자 "30"을 추가하기만 하면 됩니다.

답변1

편집됨: 최대 300개의 파일을 작업 중이라고 알려 주신 후 답변을 수정해야 합니다. 아래 편집된 답변에서 숫자 300을 기존 파일의 정확한 캡 번호로 바꾸십시오.

for file in mmm.{300..1} ; do mv "${file}" "${file%.*}.$((30+${file#*.}))" ; done

bash이 답변은 기본 기능을 사용하여 모든 작업을 수행 bash하고 외부 프로그램이나 하위 프로세스 시작이 필요하지 않기 때문에 효과적입니다 .

  1. ${file%.*}마침표 앞의 파일 이름 접두사를 반환합니다.

  2. `$((..))는 수학 연산을 위한 bash 관용구입니다.

  3. ${file#*.}마침표 뒤에 파일 이름 접미사를 반환합니다. 파일 이름에 마침표가 여러 개 포함될 수 있다는 우려가 있는 경우 #에는 ##.

man bash자세한 내용과 기타 매우 멋진 기본 기능을 보려면 리소스를 참조하세요 .

관련 정보