Tôi biết bạn hỏi về Python, nhưng nhận xét của bạn về Win và Linux chỉ ra rằng bạn đang sau cross-platform-Ness, và Perl ít nhất là nền tảng chéo như Python. Bạn có thể làm điều này dễ dàng với một dòng Perl trên dòng lệnh, không cần tập lệnh nào: perl -ne 'print if /\S/' foo.txt
(Tôi yêu Python và thích nó hơn Perl 99% thời gian, nhưng đôi khi tôi thực sự muốn tôi có thể làm dòng lệnh) các kịch bản với nó như bạn có thể với chuyển đổi -e thành Perl!)
Điều đó nói rằng, tập lệnh Python sau đây sẽ hoạt động. Nếu bạn mong muốn thực hiện điều này thường xuyên hoặc cho các tệp lớn, nó cũng cần được tối ưu hóa bằng cách biên dịch các cụm từ thông dụng.
#!/usr/bin/python
import re
file = open('foo.txt', 'r')
for line in file.readlines():
if re.search('\S', line): print line,
file.close()
Có rất nhiều cách để làm điều này, đó chỉ là một :)
Chia sẻ ý tưởng và nỗ lực của bạn. Chúng tôi sẽ cố gắng giúp bạn. –
Nó thực sự tầm thường với grep, ví dụ. 'grep -v '^ $' file' –
Nó sẽ làm việc cả dưới win và linux, vì vậy chúng ta có thể sử dụng chỉ python, không grep =) – user285070