Reemplazar un bloque de números en sed

Reemplazar un bloque de números en sed

He estado jugando con esto por un tiempo y parece que no puedo entenderlo. Lo que intento hacer es reemplazar todos los números de un archivo con un solo #.

Suena simple, y debería serlo, pero no logro entenderlo. Cualquier ayuda sería apreciada.

Lo que tengo hasta ahora (pero no funciona) es:

echo "fdsafdsa 32432 dsafdas" | sed 's/[0-9]+/#/g'

El resultado que espero es:

fdsafdsa # dsafdas

Pero sed me da la misma cadena sin reemplazar nada.

¿Alguna pista?

Respuesta1

No necesitas el +. Solo usa lo siguiente:

echo "fdsafdsa 32432 dsafdas" | sed 's/[0-9]/#/g'

[0-9]ya coincidirá con todos los dígitos y reemplazará cada uno con #.


Dado que +es una sintaxis extendida, también puedes hacer:

echo "fdsafdsa 32432 dsafdas" | sed -E 's/[0-9]+/#/g'

para reemplazar todo el bloque de dígitos conuno #.

información relacionada