web-dev-qa-db-fra.com

Choisir la version de awk sur Ubuntu 14.04

J'utilise Ubuntu 14.04 et j'utilise beaucoup les grandes commandes awk, sed, sort et ainsi de suite.

Récemment, a attiré mon attention qu'Ubuntu utilise mawk comme implémentation par défaut, mais comme je voulais utiliser certaines fonctionnalités spécifiques à gawk, j'ai promptement apt-get installed paquet.

À ce stade, il semble que mon Ubuntu soit passée par défaut à gawk, ce que je ne voulais pas, car il présente de subtiles différences de comportement (par exemple, Rand() semble être déterministe dans gawk, ce qui est très mauvais car je l’utilise tout le temps).

Comment puis-je installer les deux packages, mais utiliser mawk comme implémentation par défaut?

6
mitchus

Vous pouvez définir la valeur par défaut via le mécanisme update-alternatives, en utilisant la commande

Sudo update-alternatives --config awk

par exemple.

$ 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.

Quand vous voulez gawk à la place, appelez-le simplement comme suit: gawk au lieu de awk

12
steeldriver