sedを使用して行を多くの特殊文字に置き換えますか?

sedを使用して行を多くの特殊文字に置き換えますか?

私はプロジェクトのためにかなり大きなスクリプトを書いていますが、スクリプトを終了する前に経験している問題の1つはsedコマンドを使用することです。

(cache.phpの)行を見つけようとしています:

$cache_directory = './cache'; 

'./cache'情報を名前付き変数に置き換えます$new_cache_directory

私が持っている問題の1つは、./cacheそれが何度も存在することです。私はこの行を変更したいだけですが、行番号を「ハードコーディング」して「未来保証」をしたくありません。

どうすればいいですか?

ベストアンサー1

この試み:

sed -i.bak "s:^.*\(\$cache_directory = \)\('./cache'\):\1$new_cache_directory:" infile

おすすめ記事