Tengo un patrón regex y de reemplazo que se han probado en Notepad ++ en mis datos de entrada y funcionan correctamente. Cuando los pongo en una expresión sed, sin embargo, nada se empareja.Escapar secuencias de sed correctamente
Aquí es el comando sed:
# SEARCH = ([a-zA-Z0-9.]+) [0-9] (.*)
# REPLACE = \2 (\1)
sed -e 's/\([a-zA-Z0-9.]+\) [0-9] \(.*\)/\2 \(\1\)/g'
Aquí es una muestra de los datos:
jdoe 1 Doe, John
jad 1 Doe, Jane
smith 2 Smith, Jon
y la salida deseada:
Doe, John (jdoe)
Doe, Jane (jad)
Smith, Jon (smith)
He intentado eliminar y añadir escapa a diferentes caracteres en la expresión sed, pero o bien no obtiene nada igual o algo así como:
sed: -e expression #1, char 42: invalid reference \2 on `s' command's RHS
¿Cómo puedo obtener esto escapado correctamente?
que funcionó muy bien. Gracias. –