Comandos Linux · 2 min read · Jan 11, 2026

Tutorial do Comando shuf do Linux para Iniciantes (com Exemplos)

Se você já jogou cartas, provavelmente está ciente do termo embaralhar. Um pouco difícil de imaginar, existe uma ferramenta de linha de comando do Linux que faz exatamente isso com linhas em arquivos. Neste tutorial, discutiremos o básico do comando ‘shuf’ usando alguns exemplos fáceis de entender.

Mas antes de fazermos isso, vale a pena mencionar que todos os exemplos aqui foram testados em uma máquina Ubuntu 18.04 LTS.

Comando shuf do Linux

O comando shuf no Linux permite gerar permutações aleatórias. A seguir está sua sintaxe:

shuf [OPÇÃO]... [ARQUIVO]

E aqui está como a página de manual da ferramenta explica:

Escreve uma permutação aleatória das linhas de entrada na saída padrão.

A seguir estão alguns exemplos no estilo de perguntas e respostas que devem lhe dar uma ideia melhor de como o comando shuf funciona.

P1. Como usar o comando shuf?

O uso básico é muito simples. Basta passar um nome de arquivo como entrada. Aqui está um exemplo:

shuf test.txt

Agora, o arquivo test.txt contém as seguintes linhas:

1  
2  
3  
4  
5  
6  
7  
8  
9

Mas o comando shuf acima produziu a seguinte saída:

3  
4  
6  
5  
1  
8  
2  
7  
9

Então você pode ver que as linhas foram embaralhadas.

P2. Como limitar o número de linhas na saída?

Se você quiser limitar o número de linhas na saída do shuf, use a opção de linha de comando -n, que exige que você passe um número que representa a contagem máxima de linhas que deseja na saída.

Por exemplo:

shuf -n 3 test.txt

O comando acima produziu a seguinte saída:

6  
4  
9

P3. Como permitir a repetição de linhas na saída?

Suponha que o arquivo de entrada contenha 9 linhas, mas você deseja que o shuf produza mais linhas do que isso na saída (usando a opção -n discutida acima). Isso pode ser feito usando a opção -r.

-r, --repeat  
              as linhas de saída podem ser repetidas

Então, se você quiser que o shuf produza 25 linhas na saída, execute o seguinte comando:

shuf -r -n 25 test.txt

Aqui está a saída que este comando produziu:

6  
8  
4  
5  
9  
3  
3  
1  
2  
5  
7  
5  
9  
5  
8  
5  
2  
8  
8  
7  
4  
4  
8  
5  
3

P4. Como fazer o shuf tratar argumentos de entrada como linhas?

Para isso, use a opção de linha de comando -e. Aqui está um exemplo:

shuf -e 1 2 3 4 5 6 7 8 9

Aqui está a saída produzida por este comando:

9  
1  
7  
8  
6  
2  
3  
5  
4

Conclusão

Concordo, shuf não é o tipo de ferramenta que você precisaria todos os dias, mas não há mal em aprender sobre essa utilidade, especialmente porque sua curva de aprendizado não é tão íngreme. Uma vez que você tenha terminado de praticar o que discutimos aqui, vá para a página de manual da ferramenta para saber mais sobre ela.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.