我有一个名为replaceUp的Perl脚本:
#!/usr/bin/perl
search=$1
replace=$2
find . -type f -exec perl -p -i -e "s/$search/$replace/g" {} \;
脚本未加载。这表明我的剧本错了。
如何使用Perl制作shell脚本?
答案 0 :(得分:10)
第一行应为#!/bin/sh
,而不是#!/usr/local/bin/perl
。你错了,这是一个Perl脚本;它是一个调用Perl的shell脚本。
它也不会真正起作用,因为$ search和$ replace不会在单引号内插入。尝试在双引号内单引号。
或者更好的是,试试my mass search/replace Perl script。我为此保留了一个纯Perl脚本,因为像大规模搜索/替换一样危险,你不需要多级别的shell元字符解释,从危险到绝对致命。