From 1b57bc6fa3bd0043ce33f8f962007ccd57b5a689 Mon Sep 17 00:00:00 2001 From: joachimschmidt557 Date: Thu, 28 Mar 2019 14:45:43 +0100 Subject: [PATCH] Add nl utility etc. --- echo.nim | 6 ++++-- nimbase.nimble | 2 +- nl.nim | 11 +++++++++++ shuf.nim | 3 ++- 4 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 nl.nim diff --git a/echo.nim b/echo.nim index 093c39e..f4f83e8 100644 --- a/echo.nim +++ b/echo.nim @@ -2,8 +2,10 @@ import cligen, sequtils import common proc main(strings:seq[string], newline=true) = - if newline: writeLine(stdout, strings.foldl(a & " " & b)) - else: write(stdout, strings.foldl(a & " " & b)) + if newline: + writeLine(stdout, strings.foldl(a & " " & b)) + else: + write(stdout, strings.foldl(a & " " & b)) flushFile(stdout) dispatch(main, version=("version", nimbaseVersion)) diff --git a/nimbase.nimble b/nimbase.nimble index 1b02f79..bcb9826 100644 --- a/nimbase.nimble +++ b/nimbase.nimble @@ -8,6 +8,6 @@ requires "nim >= 0.19.0" requires "cligen >= 0.9.19" requires "stint >= 0.0.1" -bin = @["add", "cat", "cp", "div", "echo", "factor", "false", "head", "mkdir", "mul", "pwd", "rm", "seq", "shuf", "sleep", "sub", "tee", "touch", "true", "yes"] +bin = @["add", "cat", "cp", "div", "echo", "factor", "false", "head", "mkdir", "mul", "nl", "pwd", "rm", "seq", "shuf", "sleep", "sub", "tee", "touch", "true", "yes"] binDir = "bin" diff --git a/nl.nim b/nl.nim new file mode 100644 index 0000000..1e5a68c --- /dev/null +++ b/nl.nim @@ -0,0 +1,11 @@ +import cligen +import common + +proc main(files:seq[string], lineIncrement=1) = + for file in files: + var lineNr = 0 + for line in lines(file): + lineNr += lineIncrement + writeLine(stdout, $(lineNr) & line) + +dispatch(main, version=("version", nimbaseVersion)) diff --git a/shuf.nim b/shuf.nim index 9450259..d3c0a52 100644 --- a/shuf.nim +++ b/shuf.nim @@ -3,6 +3,7 @@ import common proc main(files:seq[string]) = for file in files: - echo "" + for line in lines(file): + echo line dispatch(main, version=("version", nimbaseVersion))