Tengo un archivo de texto con varias líneas que quiero unir (concatenar) en un editor de texto. Es decir, sin recurrir a herramientas de línea de comandos (especialmente en Windows, donde es posible que ni siquiera estén disponibles).
Estoy usando Geany y su función de búsqueda y reemplazo sin éxito: intenté reemplazar $ sin nada usando expresiones regulares (multilínea) y \n sin nada usando secuencias de escape.
Incluso la coincidencia de varias líneas parece reemplazar solo el contenido, ¡dejando las líneas (vacías) como están!
¿Existe algún método sencillo para hacerlo?
Respuesta1
Gracias a @Prasanna por confirmar que debería funcionar con un reemplazo "basado en secuencia de escape". Descubrí que podría ser un problema con la terminación de línea y, de hecho, reemplazar \n con un espacio coloca un espacio al comienzo de cada línea.
Entonces supongo que dependería de la plataforma, pero debería funcionar de acuerdo con la línea que termina en uso:
En Windows, busque
\r\n
Reemplace con nada (cadena vacía) o un carácter de espacio, según sus necesidades.
En cambio, la expresión regular no parece funcionar en absoluto.
Respuesta2
Descubrí que el secreto para unir líneas en Geany mediante la búsqueda y reemplazo de expresiones regulares es asegurarse de que Use multi-line matching
esté habilitado. Me encanta Geany, así que aquí está la secuencia de pasos para eliminar los finales de línea (aquí se muestra Windows, cambie los caracteres de escape del final de línea según sea necesario para *nix):
- Verifique los finales de línea: seleccione en el menú
View >> Show line Endings
(por ejemplo, en Windows esto mostrará CRLF (\r\n)). - Resalte/Seleccione las líneas que desea unir
- CTRL-H (Reemplazar)
- En el
Search for:
campo, ingrese\r\n
- En el
Replace with:
campo, no ingrese nada - Asegúrese de
Use regular expressions
que esté marcado - Asegúrese de
Use multi-line matching
que esté marcado - Haga clic
In Selection
para unir todas las líneas de la selección (obviamente, esto también se puede hacer en todo el documento o línea por línea, según lo desee).
No funcionará sin comprobarlo Use multi-line matching
, así que ese es el consejo secreto.
Respuesta3
En realidad, hay un comando Unir líneas en Geany, pero está algo oculto: tienes que ir a Editar/Preferencias/Combinaciones de teclas Acción: Formato/Unir líneas, y allí puedes asignar un atajo de teclado; como dicen enFallo de unión de líneas #510:
Sí, "unir líneas" no está en un menú, eso es malo porque dificulta su descubrimiento, y se supone que asignar una combinación de teclas no hace que aparezca en el menú.
Pero si se le asigna una combinación de teclas, me funciona con ccec1fe.