Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

332
Vistas
Bash regexp: ¿Cómo reemplazar todos los caracteres que no son espacios en blanco con una letra?

Tengo un archivo de texto que contiene muchos espacios en blanco y algunos otros caracteres ASCII. Me gustaría usar Bash (preferiblemente a través de sed ) para reemplazar cualquier carácter que no sea un espacio en blanco en el archivo con la letra M . ¿Cómo haría para hacer esto?

Gracias por ayudar.

editar: para los votantes negativos, intenté ejecutar esto:

 sed -i 's/[^\s]/M/g' file

y esto:

 sed -i 's/[^\s]/M/' file

pero ninguno de los dos funcionó demasiado bien. No estoy familiarizado con las expresiones regulares, así que me disculpo si estoy haciendo algo obviamente mal.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Podrías usar clases de caracteres POSIX:

 sed -i 's/[^[:space:]]/M/g' file

Por ejemplo:

 $ echo 'abc' | od -a 0000000 a sp b sp ht c nl 0000007 $ echo 'abc' | sed 's/[^[:space:]]/M/g' | od -a 0000000 M sp M sp ht M nl 0000007

Nota:

  • La bandera g para el comando s , ya que desea reemplazar todas las coincidencias en una línea
over 4 years ago · Santiago Trujillo Denunciar

0

Usar tr

 tr -c '[:space:]' M < file
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda