私は間違いをしました。最初は、独立したページでDBログを選択しなかった。 DBログをコードにした374のPHPページ。私のLinuxサーバのこれらのページは、同じダイレクトで。コンテンツを文字列に置き換える方法は?シェル
DBページコード内のログを持つ一部のページ:
try
{
$conn=new PDO('mysql:host=localhost;port=3306;dbname=hpc' , 'xxx' , 'xxx');
}
catch(PDOException $e)
{
echo "connect failed!".$e->getMesage();
exit;
}
DB pagasコード内のログを持つ一部のページ:
$conn = new PDO('mysql:host=localhost;port=3306;dbname=hpc' , 'xxx' , 'xxx');
$conn->setAttribute(PDO::ATTR_ORACLE_NULLS, true);
今私はそれらを引き継ぐために一つだけをdb.phpを使いたいですinclude( "DB.php");
sed -i "/^try/^}$/,s/.*/include(\"DB.php\")/"g" *
と
sed -i "/^conn/true)\;$/,s/.*/include(\"DB.php\")/g *
をしかし、彼らは失敗しました:私が試してみました。私はsed:sed -i "s/A/B/g" *
を使用して文字列を引き継ぐことを知っています。しかし、私は文字列にコンテンツを置き換える方法を知らない。誰が私を助けることができますか?
可能性のsed、誤解しないでくださいと他人を交換したくない場合は、要件を慎重に定義する必要があります。 'try'で始まるものを置き換えなければならないのですか?9行を1行と置き換えてincludeする必要がありますか?それとも' new PDO'を持っている行から見なければなりませんか? –
2番目の 'Some pages ...'はあなたの期待される出力をブロックしますか?それがあなたの期待される出力であれば、それが何であるかを明確にして期待される出力を加えてください。 –