cat from stdin and historical notes
Generally, cat
takes a file as an argument and prints the file to stdout. cat
can also print to stdout from stdin like this:
> echo abc | cat -
abc
Which is the equivalent to:
> echo abc | cat
abc
But when you need to concatenate a line to the beginning of a file and then process that result it comes in handy:
> echo abc | cat - 123.txt
abc
123
> echo abc | cat - 123.txt | grep abc
abc
The macosx cat
man page (here) has a history section and mentions that:
Dennis Ritchie designed and wrote the first man page. It appears to have been cat(1).
So cat
was the first man page, interesting! (The ubuntu man page for cat
does not mention this)