#!/usr/bin/env python import sys import fileinput if not fileinput.islastline: total_words, total_chars = 0, 0 for line in fileinput.input(): if fileinput.isfirstline(): words, chars = 0, 0 words += len(line.split()) chars += len(line) if fileinput.islastline(): print "%7d%8d%8d %s" % (fileinput.filelineno(), words, chars, fileinput.filename()) total_words += words total_chars += chars if total_words != words: print "%7d%8d%8d %s" % (fileinput.lineno(), total_words, total_chars, 'total') else: def processfile(filename, filelineno, words, chars, total_words, total_chars): print "%7d%8d%8d %s" % (filelineno, words, chars, filename) return total_words + words, total_chars + chars total_words, total_chars = 0, 0 lines = 0 name = '' for line in fileinput.input(): if fileinput.isfirstline() and fileinput.lineno() != 1: total_words, total_chars = processfile(name, lines, words, chars, total_words, total_chars) if fileinput.isfirstline(): words, chars = 0, 0 words += len(line.split()) chars += len(line) lines = fileinput.filelineno() name = fileinput.filename() total_words, total_chars = processfile(name, lines, words, chars, total_words, total_chars) if total_words != words: print "%7d%8d%8d %s" % (fileinput.lineno(), total_words, total_chars, 'total')