Comando fold no Linux: como dividir linhas longas por largura

O comando fold divide linhas longas da entrada para que a saída respeite uma largura definida. Ao contrário de fmt, que reorganiza parágrafos, fold se concentra em limitar a largura de cada linha.

A largura padrão é de 80 colunas. A opção -s prioriza a quebra em espaços quando possível. O resultado é enviado à saída padrão; o arquivo de origem não é alterado.

Sintaxe básica

fold [opções] [arquivo ...]

As opções e a implementação podem variar entre distribuições. Consulte man fold no seu sistema.

Exemplos de uso

Para exibir um arquivo com a largura padrão de 80 colunas, execute:

fold long-lines.txt

Para limitar a largura a 60 colunas e priorizar a quebra em espaços, use:

fold -s -w 60 paragraph.txt

Substitua os nomes pelos arquivos de texto disponíveis. Uma palavra maior que a largura definida ainda pode ser dividida.

Testar uma largura fixa

O exemplo cria uma entrada sem espaços e a divide a cada quatro colunas:

printf 'abcdefghij\n' | fold -w 4

Resultado esperado:

abcd
efgh
ij

Opções e limitações

Opção Função
-w N Define a largura da saída.
-s Quebra em espaços quando possível.
-b Conta a largura em bytes, em vez de colunas de exibição.

A opção -b pode cortar um caractere UTF-8 no meio de sua sequência de bytes. Tenha cuidado com textos multilíngues: tabulações, caracteres largos e emojis também podem aparecer de modo diferente conforme o ambiente. Se os limites das linhas originais têm significado para os dados, confira o resultado antes de utilizá-lo como entrada de outro programa.

Diferença entre fold e fmt

fold limita o comprimento de cada linha, enquanto fmt reorganiza as quebras de um parágrafo de texto. Para detalhes das opções e do comportamento GNU, consulte a documentação GNU de fold.