This content originally appeared on Stefan Judis Web Development and was authored by Stefan Judis
Today I came across this tweet by Safia Abdalla. It showed that you can use the cat
command to quickly add content to a file (cat - >> foo.txt
). The way it works is that you can directly write to stdin
until you hit ^D
or ^C
.
So I opened the manual for the cat
command and wanted to see what else is in there. One sentence suprised me though.
If file is a single dash (`-') or absent, cat reads from the standard input.
You can make the snippet even shorter! ?
$ cat - >> foo.txt
# is the same as
$ cat >> bar.txt
That's cool!
I also discovered that you can use cat
and stdin
right in between files and concat them (you have to use ^D
– ^C
doesn't work then). ?
$ cat 1.txt - 3.txt > all.txt
I'm not sure if I'll ever need this functionality but it's always good to know some shell tricks. Safia shares a lot more CLI tricks so you should definitely check these out.
Reply to Stefan
This content originally appeared on Stefan Judis Web Development and was authored by Stefan Judis
