GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo eliminar líneas en blanco de un archivo (incluidos tabuladores y espacios)?

Quiero eliminar todas las líneas vacías de un archivo. Incluso si la línea contiene espacios o tabulaciones, también debe eliminarse.

Respuesta aceptada:

Solo grep para no espacios en blanco:

grep '[^[:blank:]]' < file.in > file.out

[:blank:] , dentro de rangos de caracteres ([...] ), se denomina clase de caracteres POSIX. Hay algunos como [:alpha:] , [:digit:][:blank:] coincide con el espacio en blanco horizontal (en la configuración regional POSIX, eso es espacio y tabulación, pero en otras configuraciones regionales podría haber más, como todos los caracteres de espaciado horizontal Unicode en configuraciones regionales UTF8) mientras que [[:space:]] coincide con caracteres de espacio en blanco horizontales y verticales (igual que [:blank:] además de cosas como tabulación vertical, alimentación de formulario...).

grep '[:blank:]'

Devolvería las líneas que contienen cualquiera de los caracteres, : , b , l , a , n o k . Las clases de caracteres solo se reconocen dentro de [...] y ^ dentro de [...] niega el conjunto. Así que [^[:blank:]] significa cualquier caracter excepto los en blanco.


Linux
  1. ¿Cómo eliminar líneas duplicadas dentro de un archivo de texto?

  2. ¿Imprimir líneas entre (e incluyendo) dos patrones?

  3. ¿Eliminar eficientemente el primer par de líneas de un archivo de texto?

  4. ¿Cómo quitar el Bom de un archivo Utf-8?

  5. Contar líneas, palabras y caracteres de un archivo en Linux

Cómo quitar la contraseña de un archivo PDF en Linux

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

Cómo quitar (^M) caracteres de un archivo en Linux

Cómo quitar espacios de los nombres de archivo en Linux

Cómo quitar todos los caracteres de espacio en blanco de un archivo de texto

Cómo instalar software desde el código fuente... y eliminarlo después