Add touch utility

This commit is contained in:
joachimschmidt557 2019-03-27 12:14:34 +01:00
parent 20f776b4bd
commit 049289f452
4 changed files with 20 additions and 5 deletions

View file

@ -4,7 +4,7 @@ import common
proc catFile(file:string) =
if not existsFile(file):
echo "cat: " & file & ": No such file or directory"
return
system.quit 1
var s = newFileStream(file, fmRead)
while not s.atEnd:
write(stdout, s.readChar)

View file

@ -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", "rm", "seq", "sleep", "sub", "tee", "true", "yes"]
bin = @["add", "cat", "cp", "div", "echo", "factor", "false", "head", "mkdir", "mul", "rm", "seq", "sleep", "sub", "tee", "touch", "true", "yes"]
binDir = "bin"

11
rm.nim
View file

@ -1,6 +1,9 @@
import cligen, os
import cligen, os, system
import common
const
errorMsg = "rm: cannot remove '"
proc main(files:seq[string], force=false, recursive=false) =
for file in files:
if existsFile(file):
@ -9,8 +12,10 @@ proc main(files:seq[string], force=false, recursive=false) =
if recursive:
removeDir(file)
else:
echo "rm: cannot remove '" & file & "': Is a directory"
echo errorMsg & file & "': Is a directory"
programResult = 1
else:
echo "rm: cannot remove '" & file & "': No such file or directory"
echo errorMsg & file & "': No such file or directory"
programResult = 1
dispatch(main, version=("version", nimbaseVersion))

10
touch.nim Normal file
View file

@ -0,0 +1,10 @@
import cligen, os, times, streams
import common
proc main(files:seq[string]) =
for file in files:
if not existsFile(file):
discard newFileStream(file, fmWrite)
setLastModificationTime(file, getTime())
dispatch(main, version=("version", nimbaseVersion))