Estoy intentando buscar una cadena en particular y reemplazar todas las apariciones dentro de un archivo.
sed -i -e "s/$search_string/$replace_string/g" $filePath
Sigo recibiendo sed: unmatched '/'
un error en BusyBox v1.35.0. Sin embargo, lo mismo funciona bien en mi sistema local.
YNo, ni el $search_string
ni el $replace_string
contiene ninguno /
. También he intentado usar todo tipo de delimitadores por si acaso.
Respuesta1
El problema ocurría porque $replace_string era una cadena codificada en base64 con espacios y una nueva línea.
replace_string=$(echo -n $json_string | base64)
cambiando este comando anterior a
json_string=$(echo -n $json_string | base64 -w 0)
me lo resolvió
-w, --wrap=COLS Ajusta las líneas codificadas después del carácter COLS (predeterminado 76). Utilice 0 para desactivar el ajuste de línea.