Buscar y reemplazar no funciona con sed Busybox. obteniendo sed: error '/' no coincidente

Buscar y reemplazar no funciona con sed Busybox. obteniendo sed: error '/' no coincidente

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_stringni el $replace_stringcontiene 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.

información relacionada