Escolhendo a versão awk no Ubuntu 14.04

6

Estou usando o Ubuntu 14.04 e fazendo uso pesado de todos os grandes comandos awk , sed , sort e assim por diante.

Recentemente, chegou ao meu atenção que o Ubuntu usa mawk como a implementação padrão, mas desde que eu queria usar alguma funcionalidade específica para gawk , eu prontamente apt-get install ed aquele pacote.

Nesse ponto, parece que meu Ubuntu mudou para gawk como padrão, o que eu não queria, já que tem algumas diferenças sutis no comportamento (por exemplo, rand() parece ser determinista em gawk , o que é muito ruim já que eu uso o tempo todo).

Como posso ter os dois pacotes instalados, mas usar mawk como a implementação padrão?

    
por mitchus 15.12.2014 / 11:53

1 resposta

11

Você pode definir o padrão através do mecanismo update-alternatives, usando o comando

sudo update-alternatives --config awk

por exemplo,

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

Quando você quiser o gawk, basta invocá-lo como gawk em vez de awk

    
por steeldriver 15.12.2014 / 12:14