Improvements and WIP wc
This commit is contained in:
parent
94c57b1da2
commit
b7e5108379
10 changed files with 60 additions and 16 deletions
29
wc.nim
Normal file
29
wc.nim
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
import cligen, os, strutils
|
||||
import common
|
||||
|
||||
proc main(files:seq[string]) =
|
||||
# if files.len == 0:
|
||||
# files.add "-"
|
||||
var
|
||||
totalLines = 0
|
||||
totalWords = 0
|
||||
totalChars = 0
|
||||
for file in files:
|
||||
var f = if file == "-": stdin
|
||||
else: open(file, fmRead)
|
||||
var
|
||||
fileLines = 0
|
||||
fileWords = 0
|
||||
fileChars = 0
|
||||
for line in lines(f):
|
||||
inc fileLines
|
||||
fileWords += line.split.len
|
||||
fileChars += line.len
|
||||
totalLines += fileLines
|
||||
totalWords += fileWords
|
||||
totalChars += fileChars
|
||||
writeLine(stdout, $(fileLines) & $(fileWords) & $(fileChars) & file)
|
||||
if files.len > 1:
|
||||
writeLine(stdout, $(totalLines) & $(totalWords) & $(totalChars) & "total")
|
||||
|
||||
dispatch(main, version=("version", nimbaseVersion))
|
||||
Loading…
Add table
Add a link
Reference in a new issue