比如要将/etc/httpd/conf/httpd.conf的注释行和空行去掉并且打印,用一行命令就可以做到:
egrep -v ‘^#|^$’ /etc/httpd/conf/httpd.conf。但这里练习用Python实现
#!/usr/bin/env python
#coding: utf8
import os
def dellines():
#os模块调用linux命令,\cp是为了避免alias里面的cp -i,强制复制文件,不询问是否覆盖
os.system('\cp -r -f /etc/httpd/conf/httpd.conf .')
f = file('httpd.conf')
linenum = 0
while True:
data = f.readline()
if data == '':
break
else:
#第一个字符为#或者是换行符,就pass,否则就打印这一行
if (data[0] == '#') or (data[0] == '\n'):
pass
else:
linenum += 1
print linenum, data ,
f.close()
if __name__ == '__main__':
dellines()