The other day something started going wrong with the perl rename terminal command that was pre-installed on my system; which is Ubuntu 22.04.5 LTS. When I try to use any version of the rename command I get the following message:
Duplicate specification "V|version" for option "v" Duplicate specification "E=s" for option "e" By this I mean that any attempts at using rename, including simply rename -h bring up this error. rename -h will still print out the help information, which is as follows for my version of rename (2.02)
Duplicate specification "V|version" for option "v" Duplicate specification "E=s" for option "e" Usage: rename [ -h|-m|-V ] [ -v ] [ -0 ] [ -n ] [ -f ] [ -d ] [ -u [enc]] [ -e|-E perlexpr]*|perlexpr [ files ] Options: -v, --verbose Verbose: print names of files successfully renamed. -0, --null Use \0 as record separator when reading from STDIN. -n, --nono No action: print names of files to be renamed, but don't rename. -f, --force Over write: allow existing files to be over-written. --path, --fullpath Rename full path: including any directory component. DEFAULT -d, --filename, --nopath, --nofullpath Do not rename directory: only rename filename component of path. -h, --help Help: print SYNOPSIS and OPTIONS. -m, --man Manual: print manual page. -V, --version Version: show version number. -u, --unicode [encoding] Treat filenames as perl (unicode) strings when running the user-supplied code. Decode/encode filenames using encoding, if present. encoding is optional: if omitted, the next argument should be an option starting with '-', for instance -e. -e Expression: code to act on files name. May be repeated to build up code (like "perl -e"). If no -e, the first argument is used as code. -E Statement: code to act on files name, as -e but terminated by ';'. If I attempt any actuall usage of the program, even as simple as rename -n -s/\.txt//' * the program stalls out and freezes after printing the error message.
As far as I have been able to find digging around for help and answers, the issue is apparently due to Getopt::Long somehow ignoring case, despite the fact that File::Rename::Options is meant to specifically turn on no_ignore_case when it calls Getopt::Long.
I have tried updating, upgrading, and cleaning apt and apt-get, purging and then reinstalling rename, updating/upgrading Perl, along with basic computer updates and restarting. If anyone knows what is going on to cause this, or has a solution, I'd be extremely grateful.
renamedid you install? What is a command line that triggers this error?renamecommand, and it's results. This looks like Perl'srenamecommand, but "built in" to what? The parameters to Perl'srenameare different. Tryrename --helprenamefrom/usr/local, not the system's one which should be in/usr/binand packages in/usr/share.rename -n 's/\.txt//'stalling is to be expected. If not given any file paths as arguments, they are being read from stdin.