Choosing awk version on Ubuntu 14.04
I am using Ubuntu 14.04, and making heavy use of all the great commands awk
, sed
, sort
and so on.
Recently it came to my attention that Ubuntu uses mawk
as the default implementation, but since I wanted to use some functionality specific to gawk
, I promptly apt-get install
ed that package.
At that point, it seems that my Ubuntu switched to gawk
as the default, which I did not want, since it has some subtle differences in behavior (for example, rand()
seems to be deterministic in gawk
, which is very bad since I use it all the time).
How can I have both packages installed, but use mawk
as the default implementation?
Solution 1:
You can set the default via the update-alternatives mechanism, using the command
sudo update-alternatives --config awk
e.g.
$ sudo update-alternatives --config awk
There are 2 choices for the alternative awk (providing /usr/bin/awk).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gawk 10 auto mode
1 /usr/bin/gawk 10 manual mode
2 /usr/bin/mawk 5 manual mode
Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/bin/mawk to provide /usr/bin/awk (awk) in manual mode.
When you want gawk instead, simply invoke it as gawk
instead of awk