texto sustituir script reemplazar para linea insertar especiales completa comando caracteres sed

sustituir - Reemplazo de cadena hexagonal usando sed



sed reemplazar/ (2)

Esto me funcionó en Linux y OSX.

Reemplazo en el lugar:

sed -i ''.bk'' ''s''/`printf "/x03"`''/foo/g'' index.html

(Ver el comentario de @Ernest en la respuesta por @tolitius)

Estoy teniendo algunos problemas para encontrar / reemplazar algunos caracteres hexadecimales. Quiero reemplazar todas las instancias dentro de un archivo de la siguiente cadena hexadecimal:

0x0D4D5348

Con la siguiente cadena hexadecimal:

0x0D0A4D5348

¿Cómo puedo hacer eso?

EDITAR: Estoy tratando de hacer un hex buscar / reemplazar. El archivo de entrada no tiene el valor literal de "0x0D4D5348" en él, pero sí tiene la representación ASCII de eso.


GNU sed v3.02.80, GNU sed v1.03 y HHsed v1.5 por Howard Helman son compatibles con la notación /xNN , donde "NN" son dos números hexadecimales válidos, 00-FF.

Aquí es cómo reemplazar una secuencia HEX en su archivo binario:

$ sed ''s//x0D/x4D/x53/x48//x0D/x0A/x4D/x53/x48/g'' file > temp; rm file; mv temp file

Como señaló @sputnik, puedes usar la funcionalidad de sed in place . Una advertencia, sin embargo, si lo usa en OS / X, tendría que agregar un conjunto de citas vacío:

$ sed '''' ''s//x0D/x4D/x53/x48//x0D/x0A/x4D/x53/x48/g'' file

Como está in place en OS / X, toma un parámetro para indicar qué extensión agregar al nombre del archivo al hacer una copia de seguridad, ya que primero crea un archivo temporal. Pero entonces ... sed OS / X no soporta /x .