Show HN: A simple Unix cat implementation in various languages
github.com
github.com
require("fs").createReadStream(process.argv[2]).pipe(process.stdout)
Here is a implementation in PostScript (it does explicitly check for EOF, and specifically deals with one byte at a time): /o (%stdout) (w) file def
ARGUMENTS 0 get (r) file
{
dup read {
o exch write
} {
quit
} ifelse
} bind loop
(I have no GitHub account. But if the owner of that repository want to add, they can add what I have; I post this message (and all of my other messages on Hacker News) to public domain.)$ gs cat.ps helloworld.txt
Error: /undefined in ARGUMENTS ...
Thanks!
gs -dNODISPLAY -q -- cat.ps helloworld.txt
(The -dNODISPLAY and -q are not needed to get this PostScript program to work, but -dNODISPLAY disables graphical output, and -q avoids Ghostscript's messages getting mixed in with the PostScript program's output. You might also need -dNOSAFER; if you get a invalidaccess error, try that. As far as I know, ARGUMENTS and -- are a feature specific to Ghostscript.) import sys
with open(sys.argv[1]) as fin:
for c in iter((lambda: fin.read(1)), ""):
sys.stdout.write(c)