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.