Macos 查找&;从终端替换文件名中的字符

Macos 查找&;从终端替换文件名中的字符,macos,perl,shell,terminal,Macos,Perl,Shell,Terminal,我尝试使用ren regexp替换文件名中的字符,如下所示: ./ren-regexp.pl "s/_/-/g" *.jpg 我认为应该用JPG文件名中的-in替换它,但我得到的是: ./ren-regexp.pl: line 4: syntax error near unexpected token `newline' ./ren-regexp.pl: line 4: `<!DOCTYPE html>' 这导致了许多错误,例如: Bareword found where ope

我尝试使用ren regexp替换文件名中的字符,如下所示:

./ren-regexp.pl "s/_/-/g" *.jpg
我认为应该用JPG文件名中的-in替换它,但我得到的是:

./ren-regexp.pl: line 4: syntax error near unexpected token `newline'
./ren-regexp.pl: line 4: `<!DOCTYPE html>'
这导致了许多错误,例如:

Bareword found where operator expected at ren-regexp.pl line 252, near "time class"
    (Do you need to predeclare time?)
Bareword found where operator expected at ren-regexp.pl line 252, near ""js-relative-date" datetime"
    (Missing operator before datetime?)
Bareword found where operator expected at ren-regexp.pl line 252, near ""2011-04-13T16:40:41-07:00" title"
    (Missing operator before title?)
Number found where operator expected at ren-regexp.pl line 252, near "April 13"
    (Do you need to predeclare April?)
Bareword found where operator expected at ren-regexp.pl line 262, near ""/msabramo/ren-regexp/tree/17026c762c41e2b88ed91bf78b63e54859b706e5" class"
    (Missing operator before class?)
我尝试使用GitHub页面和此处显示的示例:


我哪里做错了?仅运行“perl ren regexp.pl”本身也会导致上述一组错误。

看起来您是从

https://github.com/msabramo/ren-regexp/blob/master/ren-regexp.pl
而不是

https://raw.github.com/msabramo/ren-regexp/master/ren-regexp.pl
前一个链接实际上会提供一个不适合传递到perl的HTML文档


或者,您可以在浏览器中查看第一个链接,然后将Perl代码复制并粘贴到一个文件中(并去掉行号)。

您确定下载得好吗?听起来你的程序不好。第250-260行的“ren regexp.pl”是什么样子的?从外观上看,这个脚本非常。。。写得很差。甚至不使用strict和warnings,看起来很旧。要为(@ARGV{my$new=$\u;$new=~s/\u/-/g;move$\u,$new;})执行的
perl-MFile::Copy=move-Mautodie-we'代码有数百行“*.jpg
?这是几年前的版本,但在寻找答案时唯一不断出现的东西。它似乎是12年前写的,并在2005年更新。你明白了。我总是这样做!
https://raw.github.com/msabramo/ren-regexp/master/ren-regexp.pl