wc.py
30分シリーズ、その5。ネタ切れの予感。今回はwc。
$ python wc.py pn.rb 15 34 239 pn.rb $ python wc.py pn.rb bible 15 34 239 pn.rb 23589 39315 1609575 bible 23604 39349 1609814 total
#!/usr/bin/env python import sys import re def wc(path): file = open(path) rexp = re.compile(r'\s+') size = 0 lines = 0 words = 0 for line in file.readlines(): size += len(line) lines += 1 words += len(rexp.split(line.strip())) return (lines,words,size,path) lines = words = size = 0 for path in sys.argv[1:]: (l,w,s,path) = wc(path) lines += l words += w size += s print "%8d%8d%8d %s" % (l,w,s,path) if len(sys.argv) != 2: print "%8d%8d%8d total" % (lines,words,size)