sed を使用して関数に (true || ... ) を追加します。

sed を使用して関数に (true || ... ) を追加します。

私はすぐにtrue ||すべての関数呼び出しを前に追加して巨大なライブラリにパッチを当てたいと思います。

入力例:

if function_a(some_parameters) && function_b

なります

if (true || function_a(some_parameters)) && function_b

問題は、前に追加するだけでtrue || ステートメント全体が無効になることです。したがって、関数呼び出しの周りに括弧を追加する必要があります。

パラメータは毎回異なります。

GNU sedはこれを行うことができますか?

ベストアンサー1

コメントからフィードバックを受けた後、結局使用するようになりました。

sed 's/function_a([^()]*)/true/'

このコマンドは各インスタンスをfunction_a (some_optional_parameters)trueに置き換えます。

パラメーターに入れ子になった関数がないために機能します。function_a.ネストされた機能を持つすべてのプログラミング言語/プログラムでは機能しません。

おすすめ記事