Sé que preguntó acerca de Python, pero su comentario sobre Win y Linux indica que lo que busca es multiplataforma-dad, y Perl es al menos tan multiplataforma como Python. Puede hacerlo fácilmente con una línea de Perl en la línea de comandos, sin scripts necesarios: perl -ne 'print if /\S/' foo.txt
(Amo Python y lo prefiero a Perl el 99% del tiempo, pero a veces realmente deseo poder hacer una línea de comandos scripts con él como puedas con -e cambiar a Perl!)
Dicho esto, la siguiente secuencia de comandos de Python debería funcionar. Si espera hacer esto a menudo o para archivos grandes, debe optimizarse con la compilación de las expresiones regulares también.
#!/usr/bin/python
import re
file = open('foo.txt', 'r')
for line in file.readlines():
if re.search('\S', line): print line,
file.close()
Hay un montón de maneras de hacer esto, eso es sólo una :)
sus comentarios y respuestas tentativas. Trataremos de ayudarte. –
En realidad es trivial con grep, ej. 'grep -v '^ $' file' –
Debería funcionar tanto en win como en linux, por lo que podemos usar SOLO python, no grep =) – user285070