News for hackers. Stuff that matters.
Re:Interesting commands for the Linux shell by trapperkeeper74 on Thursday September 14, 2017 @06:26AM (#15246512)
And prefer redirection to cat.

    whatever < file.txt 
not

    cat file.txt | whatever

Also, there is no need for - or z on GNU tar in t or x modes:

    tar tf whatever.tgz
    tar tf whatever.tar.bz2
    tar tf whatever.txz
    ...

    tar xf whatever.tar.gz
    tar xf whatever.tar.Z
    ...
all work just fine
Re:Interesting commands for the Linux shell by TorKlingberg on Thursday September 14, 2017 @06:50AM (#15246653)
I know whatever < file.txt is slightly more efficient, but there is value is keeping things going left to right with pipes in between. It makes it easy to insert a grep or sort, or swap out a part.
Re:Interesting commands for the Linux shell by veddan on Thursday September 14, 2017 @07:09AM (#15246752)

    <file.txt grep foo | sort
Re:Interesting commands for the Linux shell by BenjiWiebe on Thursday September 14, 2017 @11:28AM (#15248997)
Ok, if that actually works, that's amazing. Wow.
Re:Interesting commands for the Linux shell by vram22 on Thursday September 14, 2017 @01:02PM (#15249991)
It works because of the general principle that I mentioned here:

https://news.ycombinator.com/item?id=15249370

The shell (not the command) is the one expanding those metacharacters, so (within limits), in:

cmd < file

or

< file cmd

where you put that piece (< file) on the line does not matter, because the actual command cmd never sees the redirection at all - it is done [1] by the time the command starts. The cmd command will only see the command line arguments (other than redirections) and options (arguments that start with a dash). Even expansion of $ and other sigils (unless quoted) happens before the command starts.

[1] I.e. the shell and kernel set up the standard input of the command to be connected to the file opened for reading (in the case of < file).

Re:Interesting commands for the Linux shell by joombaga on Thursday September 14, 2017 @08:21AM (#15247192)
Oh cool. Didn't know this was possible.
Re:Interesting commands for the Linux shell by traviscj on Thursday September 14, 2017 @11:16AM (#15248853)
I prefer cat because > vs < is an easy typo to make but one clobbers the file. Happy to pay the performance penalty as insurance against that.
Re:Interesting commands for the Linux shell by vram22 on Thursday September 14, 2017 @12:24PM (#15249526)
You can use the bash setting called noclobber to prevent such accidental deletion.

https://en.wikipedia.org/wiki/Clobbering