Como embaralhar linhas usando a linha de comando

Classificar as linhas é fácil: todo mundo conhece o sortcomando.

Mas e se você quiser fazer o contrário
e embaralhar em vez de classificar?

Este perlone-liner faz exatamente isso:

... | perl -MList::Util -e 'print List::Util::shuffle <>'

Explicação:

  • -MList::Utilcarregar o List::Utilmódulo (como se estivesse use List::Utildentro de um script Perl)
  • -e '...' executar comando Perl
  • print List::Util::shuffle <>chamada List::Util::shufflepara as linhas provenientes da entrada padrão, lidas por<>

Outra forma seria sort -Rse a sua versão do sortsuporte isso (GNU, em oposição ao BSD).
Em sistemas BSD, você pode instalar coreutilse tentar gsort -R.
(Para exemplo no OSX, usando MacPorts:. sudo port install coreutils)

Ainda outra maneira é shufem sistemas GNU
e gshufem coreutils.