shell – ¿Cómo eliminar líneas en blanco de un archivo (incluidas tabulaciones y espacios)?

Pregunta:

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:

Solo grep para no espacios en blanco:

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

[:blank:] , dentro de los 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 todas 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:] más cosas como tabulación vertical, avance de formulario …).

grep '[:blank:]'

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

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım