1

replaceUp という Perl スクリプトがあります。

 #!/usr/bin/perl                                          

 search=$1
 replace=$2

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

スクリプトが読み込まれません。これは、私のスクリプトが間違っていることを示唆しています。

Perl を使用してシェル スクリプトを作成するにはどうすればよいですか?

4

1 に答える 1

10

最初の行は#!/bin/shではなく にする必要があり#!/usr/local/bin/perlます。あなたはそれが Perl スクリプトだと誤解しています。Perl を呼び出すシェル スクリプトです。

$search と $replace は単一引用符内で補間されないため、実際には機能しません。二重引用符の中に一重引用符を入れてみてください。

または、さらに良いことに、私の一括検索/置換 Perl スクリプトを試してください。大量の検索/置換は危険であり、危険なものから完全に致命的なものまで、複数レベルのシェル メタ文字解釈を行う必要がないため、このために純粋な Perl スクリプトを保持しています。

于 2009-05-23T19:29:26.380 に答える