확장자를 제거하여 여러 파일의 이름을 바꾸는 방법은 무엇입니까?

확장자를 제거하여 여러 파일의 이름을 바꾸는 방법은 무엇입니까?

다음과 같은 이름의 tiff 파일이 많이 있습니다.

sw.001.tif
sw.002.tif
...

.tif각 파일의 끝에 있는 . 이 명령을 사용하여 이 작업을 수행하려면 어떻게 해야 합니까 rename?

답변1

perl( rename일반적으로 데비안에서 발견되며라고도 함 prename) 또는이 파생 상품( rename데비안 패키지):

rename 's/\.tif$//' *.tif

util-linux rename(일반적으로 Red Hat, rename.ulDebian에서 발견됨):

rename -- .tif '' *.tif

blah.tiffany.tif(이름은 로 변경됩니다 blahfany.tif.)

답변2

이름을 바꾸지 않으려면 다음을 수행할 수 있습니다.

$ for i in *.tif; do mv -i $i `basename $i .tif`; done

(-i는 파일 ​​교체에 대해 경고합니다)

답변3

rename -- .oldext .newext *.oldext

그러면 이전 확장이 새 확장으로 대체됩니다. 단순히 확장명을 제거하려면 빈 문자열을 인수로 명시적으로 전달하면 됩니다.

rename -- .gz.tmp  '' *.gz.tmp

위 명령을 사용하면 .gz.tmp현재 폴더에 있는 확장자를 가진 모든 파일의 이름이 filename.gz.

참고 기사:Linux: 여러 파일의 파일 확장명 제거더 알아보기.

답변4

perl-rename 's/\.tif//' *.tif

-n시운전용 .

관련 정보