3 Simple script to remove lines from a file.
9 print "Usage: %s <filename> <>\n" \
10 "\tRemoves from <filename> the lines matching <reg.exp.>" \
11 % os.path.basename(sys.argv[0])
14 filename, pattern = sys.argv[1:]
15 if not os.path.isfile(filename):
16 print "Error: cannot find file '%s'" % filename
20 regexp = re.compile(pattern)
22 print "Error: invalid regular expression %r (%s)" % (pattern, v)
27 for l
in open(filename) ]
28 orig_size = len(lines)
31 if not regexp.search(l) ]
32 final_size = len(lines)
34 if os.path.exists(filename +
"~"):
35 os.remove(filename +
"~")
36 os.rename(filename, filename +
"~")
38 open(filename,
"w").writelines(lines)
39 print "Removed %d lines out of %d in file %s, matching pattern %r" \
40 % (orig_size - final_size, orig_size, filename, pattern)
42 if __name__ ==
'__main__':