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.txtAgora, o arquivo test.txt contém as seguintes linhas:
1
2
3
4
5
6
7
8
9Mas o comando shuf acima produziu a seguinte saída:
3
4
6
5
1
8
2
7
9Entã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.txtO comando acima produziu a seguinte saída:
6
4
9P3. 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 repetidasEntão, se você quiser que o shuf produza 25 linhas na saída, execute o seguinte comando:
shuf -r -n 25 test.txtAqui 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
3P4. 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 9Aqui está a saída produzida por este comando:
9
1
7
8
6
2
3
5
4Conclusã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.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.