1

我有一个名为 replaceUp 的 Perl 脚本:

 #!/usr/bin/perl                                          

 search=$1
 replace=$2

 find . -type f -exec perl -p -i -e "s/$search/$replace/g" {} \;

脚本未加载。这表明我的脚本是错误的。

如何使用 Perl 制作 shell 脚本?

4

1 回答 1

10

第一行应该是#!/bin/sh,不是#!/usr/local/bin/perl。你误认为这是一个 Perl 脚本;它是一个调用 Perl 的 shell 脚本。

它也不会真正起作用,因为 $search 和 $replace 不会被插在单引号内。在双引号内尝试单引号。

或者更好的是,试试我的批量搜索/替换 Perl 脚本。我为此保留了一个纯 Perl 脚本,因为像大规模搜索/替换一样危险,您不需要多层次的 shell 元字符解释,将其从危险变为绝对致命。

于 2009-05-23T19:29:26.380 回答