/* wordCount - count up number of lines, words, and chars in a * file. Similar to unix wc utility. */ to usage() /* Print usage summary and exit. */ { punt(" wordCount - count characters, words, and lines in files. usage: wordCount file(s) "); } if (args.size < 1) usage(); long totalChars, totalWords, totalLines; for (fileName in args) { file f = fileOpen(fileName, "r"); long chars, words, lines; for (;;) { string line = f.readLine(); if (!line) break; lines += 1; chars += line.size; int pos, string word; for (;;) { (word, pos) = line.nextWord(pos); if (!word) break; words += 1; } } print(fileName + ": " + lines + " lines, " + words + " words, " + chars + " chars"); totalLines += lines; totalWords += words; totalChars += chars; } if (args.size > 1) print("total: " + totalLines + " lines, " + totalWords + " words, " + totalChars + " chars");