Shell
使用 sed 將 (true || …) 添加到函式中
我很快想通過
true ||
在每個函式呼叫前面添加來修補一個巨大的庫。範例輸入:
if function_a(some_parameters) && function_b
會變成
if (true || function_a(some_parameters)) && function_b
問題在於,僅在前面添加就會
true ||
禁用整個語句。因此我必須在函式呼叫周圍添加括號。參數每次都不一樣。
這對 GNU sed 可行嗎?
在評論中收到一些回饋後,我最終使用
sed 's/function_a([^()]*)/true/'
此命令將每個實例替換為
function_a (some_optional_parameters)
true。它之所以起作用,是因為
function_a.
請注意,這不適用於每種程式語言/對於具有嵌套函式的程序,它的參數中沒有嵌套函式。