martes, 27 de febrero de 2018

Diferentes formas de sustituir caracteres por un Intro/Enter. Expresiones regulares

De una columna de usuarios obtenida de Moodle he extraído una lista separada por comas. Como tenía que terminar haciendo una lista de usuarios con una apariencia presentable, había que sustituir la coma por un INTRO. El primer pensamiento fue hacerlo en Writer; en buscar y sustituir tenemos que indicar un grupo de caracteres que signifiquen INTRO. INTRO es un símbolo especial que debe ser representado con un símbolo de escape previo, es decir un "backslash" \, y luego una n; \n representa un INTRO. Simplemente así:


sin olvidar activar las Expresiones regulares o 'RegEx'  (como es considerado \), ya que si no lo sustituiría por \n sin más.

Luego me dije que gedit también lo puede hacer, y sí puede. La forma es en todo similar; buscar y reemplazar, activar Expresión regular y poner de nuevo \n


Y finalmente el amigo hckorootx lo ha perfeccionado para el terminal con el comando sed; aquí el resumen que me ha mandado:
"La sintaxis no es muy complicada:
$ sed 's/texto_original/texto_nuevo/g' -i fichero.txt
donde:
s/ --> comando SUSTITUIR (por defecto, solo se sustituye la primera coincidencia).
/g --> opción del comando s/ que obliga a sustituir todas las coincidencias hasta fin de fichero.
-i --> sobreescritura directa del fichero pasado como argumento."


Así que una pequeña prueba de demostración:



El terminal gana por rapidez, como siempre, con una simple línea así:
sed 's/\,/\n/g' -i prueba.coma.txt

Aquí incluyo una lista de Expresiones regulares que puede ser útil conocer.

No hay comentarios:

Publicar un comentario