이름 바꾸기, 이름 바꾸기, 파일 이름 바꾸기가 무엇입니까?


24

내 데비안 시스템 (물론 LMDE 시스템이지만 충분히 가깝습니다)에는 적어도 3 개의 다른 rename프로그램이 있습니다.

  • /usr/local/bin/rename: Tom Christiansen이 작성한 Perl 스크립트입니다. 이상하게도 어떤 패키지가 설치되어 있는지 찾을 수 없습니다.

    $ dpkg -S /usr/local/bin/rename 
    dpkg-query: no path found matching pattern /usr/local/bin/rename
    
  • /usr/bin/prename: Robin Barker가 작성한 또 다른 perl 스크립트는 perl패키지의 일부입니다 .

    $ dpkg -S /usr/bin/prename
    perl: /usr/bin/prename
    
  • /usr/bin/file-rename: 또 다른 Perl 스크립트, 명확한 저작권 정보는 없지만 Larry (아마도 Wall)와 Robin (아마도 Barker)이 언급되어 있습니다. 이 rename패키지 는 패키지에 의해 설치되며 다음 과 같이 연결됩니다 /usr/bin/rename.

    $ dpkg -S /usr/bin/file-rename
    rename: /usr/bin/file-rename
    

나는 또한 가지고 rename.ul에서 util-linux그러나하자가 지금은 하나를 무시합니다. 이 3 가지 Perl 스크립트의 차이점은 무엇입니까? 그들은 모두 같은 사람이 페이지를 갖고있는 것 같다, man rename, man file-rename그리고 man prename모두가 나에게 동일한 페이지를 제공합니다.

스크립트 자체를 살펴보고 차이점을 이해하려고 시도했지만 사소한 것은 아니며 다른 사람이하지 않은 기능을 누군가가 알기를 바랍니다. 데비안 월드에 세 개의 별도 Perl 이름 바꾸기 스크립트가 필요한 이유를 설명하는 보너스 포인트.


그것보다 나빠요! RHEL은 util-linux-ng패키지의 일부로 완전히 다른 바이너리를 제공 합니다. % file = rename / usr / bin / rename : ELF 64 비트 LSB 실행 파일, x86-64, 버전 1 (SYSV), ...

@thrig 실제로 질문에 대답하지 않았기 때문에 귀하의 답변을 의견으로 변환했습니다 (이 스크립트의 차이점과 왜 많은 펄 버전이 있는지). 당신은에 대해 얘기 rename에서 util-linux이는 rename.ul데비안과 rename레드햇 시스템. 내 질문의 두 번째 단락에서 언급합니다.
terdon

update-alternatives --display rename당신 에게 무엇을 보여줍니까? 설치 후 대안의 일부인지 궁금합니다.
Jeff Schaller

@JeffSchaller 아니요, Unicode :: Tussle 에서 제공됩니다 . 저자 (tchrist)는 SE에서 활동 중이며 채팅으로 나에게 설명했다.
terdon

4
관련 . 레코드의 경우 내 이름이 포함 된 이름 바꾸기 스크립트는 경로 이름 대신 심볼릭 링크 대상을 다시 작성하고 파이프에서 파일 이름 목록을 읽고 해당 목록의 Null로 끝나는 경로 이름과 함께 "유용한"옵션을 지원합니다. 정상” -v-i옵션. 사용법 메시지 외부에 적절한 문서가없는 오래되고 오래된 오래된 스크립트이지만 en-masse 파일 이름을 다시 작성 하는 표준 도구 입니다. 어딘가에 상관없이 항상 2 ~ 3 개의 스크립트 중 하나입니다.
tchrist

답변:


16

이것이 주석인지 확실하지 않지만 부분적인 답변 일뿐입니다.

http://lists.alioth.debian.org/pipermail/perl-maintainers/2014-February/004113.html

혼란의 씨앗 인 것 같습니다. 구체적으로 :

요약하자면, 수년 동안 perl 패키지는 perl로 구현 된 표준 유틸리티 인 / usr / bin / rename을 제공했습니다. 문제는 우리가 perl 패키지에서 유틸리티를 더 이상 제공하고 싶지 않다는 것입니다. 유지 관리 버전은 별도의 패키지 libfile-rename-perl로 제공됩니다.

libfile-rename-perl위에서 언급 한 지금에 의해 대체된다 rename:

$ apt-cache show rename | head
Package: rename
Version: 0.20-3
Installed-Size: 69
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Architecture: all
Replaces: libfile-rename-perl
Provides: libfile-rename-perl
Depends: perl
Conflicts: libfile-rename-perl
Description-en: Perl extension for renaming multiple files

따라서 Perl은 rename데비안에 의해 유지되지 않고 자체적 으로 제공합니다 /usr/bin/prename. 데비안 개발자는 rename패키지 (이전 명칭은이라고 알려짐 libfile-rename-perl)를 제공하는 패키지를 유지합니다 /usr/bin/rename. 이 패키지 /etc/alternatives/rename/usr/bin/file-rename스크립트 자체에 대한 심볼릭 링크 입니다.

Tom Christiansen의 스크립트는 Perl의 Unicode::Tussle모듈 과 함께 제공됩니다 . 당신은 아마 그것을 설치했을 것이고 그것이 제공 한 것 /usr/local/bin/rename입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.