
Ask HN: What Unix tools are unfarily ignored, in your opinion? - znpy
So last week there was this thread about GNU Expect.<p>I can tell, a tool i recently discovered is GNU info and info-based documentation. Way better than manpages, more thorough, more easily browseable.<p>Wha tool do you think is unfairly ignored or underappreciated ?
======
dozzie
My suggestion is maybe not a _tool_ that is ignored, but vast majority of its
_options_ : /bin/ps from procps (Linux-specific).

I constantly see people blindly typing `ps aux', `ps eax', or `ps -Af' and
_grepping through_ the results. This is stupid. ps has so many process
selection options, including command name (I regularly use -u, -C, -p, --ppid,
and -t).

The other aspect is its output formatting. Again, so many fields can be
chosen, fine-tuned for either ease of processing or displaying on the screen,
but people tend to stick to `x' or `-f' formats for no good reason at all,
relying instead on text processing after ps has done its job.

------
wernsey
I think Awk is really underappreciated these days.

It is available everywhere so no need to install or configure it, and the
language is so compact you can keep most in your head and not need to .

Even though it is marketed as a language for text processing, it is very
flexible. I even finished a lot of Project Euler questions with it.

~~~
a-saleh
Any good resources for learning it?

I keep hearing good things about this little language.

~~~
dozzie
Honestly, `man awk' (or `man gawk') is good enough not to need anything else.
I learned awk this way over a decade ago.

------
stephenr
In the web world, make is effectively unheard of, or considered "too hard to
use", and thus we end up with dozens of nodejs based build tools that
constantly replace each other.

I think static site gen is probably another area where make could be quite
useful.

~~~
flukus
This predates nodejs, every ecosystem has been re-implementing make, poorly.
Java has ant/maven/gradle, .net has nant/msbuild/psake. Ruby and python have
their own. I wrote a post recently about using make with higher level
languages (TLDR- it's much more simpler and more concise than it's
"successors"):

[http://flukus.github.io/2016/11/30/2016_11_30_Rediscovering-...](http://flukus.github.io/2016/11/30/2016_11_30_Rediscovering-
Make/)

~~~
stephenr
That is true, but I feel like it's exposed to a broader audience in the front-
end dev world: you can be a backend dev in whatever language you like and
you've probably worked on a project where a front end dev has introduced some
ridiculously complex build system for css files.

This is literally the comment I was given by a dev who was continuing someone
else's work, about how the front end assets needed to be built:

    
    
        i) install npm
        ii) install grunt globally (npm install -g grunt)
        iii) install bower globally (npm install -g bower)
        iv) install bower packages (bower install)
        v) install npm packages (npm install)
        vi) run grunt

------
theonemind
I'd say perl, but you could debate whether "ignored" really describes it.
Something in that neighborhood (perhaps under-appreciated) does. I see people
doing a lot of ugly shell pipelines and contortions with sed, awk, and bash
that perl can do easier. Perl runs everywhere, usually already installed along
sed/awk and friends, runs comparatively fast for a dynamic scripting language,
has great documentation, and chews up and spits out the problem domain of sed,
awk, and bash. It has the same command line switches on OS X, Linux, BSD, and
even Windows.

------
stevekemp
The post was "A Surprisingly Underappreciated Unix Automation Tool":

[https://news.ycombinator.com/item?id=13130218](https://news.ycombinator.com/item?id=13130218)

------
CalChris
Spell checkers.

------
db48x
tac

