correct echo utility etc.

This commit is contained in:
joachimschmidt557 2019-03-28 12:42:06 +01:00
parent 2f6f90dce4
commit 5de50196ea
7 changed files with 19 additions and 10 deletions

View file

@ -2,8 +2,8 @@ import cligen, sequtils
import common import common
proc main(strings:seq[string], newline=true) = proc main(strings:seq[string], newline=true) =
if newline: writeLine(stdout, strings.foldl(a & b)) if newline: writeLine(stdout, strings.foldl(a & " " & b))
else: write(stdout, strings.foldl(a & b)) else: write(stdout, strings.foldl(a & " " & b))
flushFile(stdout) flushFile(stdout)
dispatch(main, version=("version", nimbaseVersion)) dispatch(main, version=("version", nimbaseVersion))

View file

@ -5,16 +5,17 @@ proc main(files:seq[string], lines=10, bytes=0) =
# if files.len == 0: # if files.len == 0:
# files.add "-" # files.add "-"
for file in files: for file in files:
var s = newFileStream(file, fmRead) var f = if file == "-": stdin
else: open(file, fmRead)
if bytes > 0: if bytes > 0:
var currentByte = 0 var currentByte = 0
while not s.atEnd and currentByte < bytes: while not f.endOfFile and currentByte < bytes:
write(stdout, s.readChar) write(stdout, f.readChar)
inc currentByte inc currentByte
elif lines > 0: elif lines > 0:
var currentLine = 0 var currentLine = 0
while not s.atEnd and currentLine < lines: while not f.endOfFile and currentLine < lines:
echo s.readLine writeLine(stdout, f.readLine)
inc currentLine inc currentLine
dispatch(main, version=("version", nimbaseVersion)) dispatch(main, version=("version", nimbaseVersion))

View file

@ -8,6 +8,6 @@ requires "nim >= 0.19.0"
requires "cligen >= 0.9.19" requires "cligen >= 0.9.19"
requires "stint >= 0.0.1" requires "stint >= 0.0.1"
bin = @["add", "cat", "cp", "div", "echo", "factor", "false", "head", "mkdir", "mul", "pwd", "rm", "seq", "sleep", "sub", "tee", "touch", "true", "yes"] bin = @["add", "cat", "cp", "div", "echo", "factor", "false", "head", "mkdir", "mul", "pwd", "rm", "seq", "shuf", "sleep", "sub", "tee", "touch", "true", "yes"]
binDir = "bin" binDir = "bin"

0
rev.nim Normal file
View file

4
rm.nim
View file

@ -12,10 +12,10 @@ proc main(files:seq[string], force=false, recursive=false) =
if recursive: if recursive:
removeDir(file) removeDir(file)
else: else:
echo errorMsg & file & "': Is a directory" err errorMsg & file & "': Is a directory"
programResult = 1 programResult = 1
else: else:
echo errorMsg & file & "': No such file or directory" err errorMsg & file & "': No such file or directory"
programResult = 1 programResult = 1
dispatch(main, version=("version", nimbaseVersion)) dispatch(main, version=("version", nimbaseVersion))

8
shuf.nim Normal file
View file

@ -0,0 +1,8 @@
import cligen
import common
proc main(files:seq[string]) =
for file in files:
echo ""
dispatch(main, version=("version", nimbaseVersion))

0
tac.nim Normal file
View file