搜尋和替換不適用於 sed busybox。取得 sed:不符的“/”錯誤

搜尋和替換不適用於 sed busybox。取得 sed:不符的“/”錯誤

我正在嘗試搜索特定字串並替換文件中的所有匹配項。

sed -i -e "s/$search_string/$replace_string/g" $filePath

sed: unmatched '/'我在 BusyBox v1.35.0 上不斷收到錯誤訊息。然而,同樣的事情在我的本地系統上運作良好。

, 和 the $search_string都不$replace_string包含任何/。我也嘗試過使用所有類型的分隔符,以防萬一。

答案1

發生此問題的原因是 $replace_string 是帶有空格和換行符的 Base64 編碼字串

replace_string=$(echo -n $json_string | base64)

將上面的命令更改為

json_string=$(echo -n $json_string | base64 -w 0)

為我解決了

-w, --wrap=COLS 在 COLS 字元之後換行編碼行(預設 76)。使用 0 禁用換行。

相關內容