Shell

使用 sed 將 (true || …) 添加到函式中

  • January 27, 2019

我很快想通過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.請注意,這不適用於每種程式語言/對於具有嵌套函式的程序,它的參數中沒有嵌套函式。

引用自:https://unix.stackexchange.com/questions/497070