0 votos

Escapar de todos los personajes en bash

Quiero tomar una cadena como esta:

Example string 59^!#&$(

Y convertirlo en esto:

\E\x\a\m\p\l\e\ \s\t\r\i\n\g\ \5\9\^\!\#\&\$\(

He intentado:

sed -e 's/./\\&/g; 1{$s/^$/""/}; 1!s/^/"/; $!s/$/"/'

como se señaló aquí:

Pero, como señaló dalelane en un comentario, esto no funciona en la vainilla instalación de bash en macOS. Me han confirmado que esta con macOS Sierra Alta.

Alguna sugerencia?

2voto

Michael Zhou Puntos 167

Esto me funciona con bsd sed-

 echo "I am a jelly donut" | sed 's/./\\&/g'
\I\ \a\m\ \a\ \j\e\l\l\y\ \d\o\n\u\t
 

y con tu cuerda

 echo 'Example string 59^!#&$(' | sed 's/./\\&/g'
\E\x\a\m\p\l\e\ \s\t\r\i\n\g\ \5\9\^\!\#\&\$\(
 

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X