GNU/Linux >> Tutoriales Linux >  >> Linux

¿Quitar barra invertida + secuencias de nueva línea?

Esta pregunta ya tiene respuestas aquí :¿Cómo se pueden combinar todas las líneas que terminan con una barra invertida?

(9 respuestas)
Cerrado hace 2 años.

Tenemos un archivo en Linux que contiene una línea por registro, pero el problema surge cuando la línea contiene algunos caracteres de línea nueva. En este caso, la barra invertida se agrega al final de la línea y el registro se divide en varias líneas. Así que a continuación está mi problema:

"abc def xyz pqr"

debería ser:

"abc def xyz pqr"

Intenté sed -I 's/\n/ /g' <file_name> que no está funcionando. También probé el tr comando pero reemplaza solo un carácter, no la cadena. ¿Puede sugerir algún comando para manejar este problema?

Respuesta aceptada:

Deberías poder usar

sed -e :a -e '/\$/N; s/\n//; ta'

Consulte Explicación de las famosas frases ingeniosas de Sed de Peter Krumins, Parte I, 39. Agregue una línea a la siguiente si termina con una barra invertida "" .


Linux
  1. Cómo eliminar un usuario en Linux usando la línea de comandos

  2. ¿Eliminar línea que contiene cierta cadena y la siguiente línea?

  3. Eliminar paquetes SDK de Android desde la línea de comandos

  4. Linux:compruebe si hay una línea vacía al final de un archivo

  5. Eliminar una determinada línea del archivo de historial de Bash

Cómo comentar en Bash

Cómo eliminar archivos y directorios usando la línea de comandos de Linux

Comando Dif en Linux

Cómo desinstalar completamente aplicaciones por línea de comandos en Ubuntu

Eliminar directorio en Linux:cómo eliminar una carpeta desde la línea de comandos

Cómo quitar líneas de un archivo usando el comando Sed