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

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

다음과 같은 이름의 tiff 파일이 여러 개 있습니다.

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

.tif각 파일 끝에 있는 를 제거하고 싶습니다 . 이 작업을 수행하려면 명령 을 어떻게 사용할 수 있습니까 rename?

답변1

perlrename(일반적으로 Debian에서 발견되며 라고도 함 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드라이 런에 사용합니다 .

관련 정보