Você está procurando
fold -w 80 -s text.txt
- -w informa a largura do texto, em que 80 é padrão.
- -s diz para quebrar em espaços e não em palavras.
Esse é o método padrão , mas existem outros sistemas que precisam "-c "em vez de" -w ".
Eu sei que posso usar algo como cat test.txt | pr -w 80
para quebrar linhas com 80 caracteres de largura, mas isso coloca muito espaço na parte superior e inferior das linhas impressas e não funciona em alguns sistemas
Qual é a melhor maneira de forçar um arquivo de texto com linhas longas a serem agrupadas em uma determinada largura?
Pontos de bônus se você não conseguir quebrar as palavras.
Você está procurando
fold -w 80 -s text.txt
Esse é o método padrão , mas existem outros sistemas que precisam "-c "em vez de" -w ".
Além de fold
, dê uma olhada em fmt
. fmt
tenta escolher as quebras de linha de maneira inteligente para tornar o texto com boa aparência. Não quebra palavras longas, mas envolve apenas por espaços. Ele também se juntará a linhas adjacentes, o que é bom para prosa, mas ruim para arquivos de log ou outro texto formatado.
Outra ferramenta (menos conhecida) que faz o que você quer é wrap
do GNU Talkfilters :
wrap -w 80 < textfile
Também (fora do tópico):
but that puts a lot of space on the top and bottom of the printed lines
adicione -t
ao invocar pr
para omitir cabeçalhos / trailers:
-t, --omit-header
omit page headers and trailers
1) largura de linha fixa assegurada com quebra de palavras:
fold -w 80 <text.txt
2) largura de linha fixa assegurada com quebra extraordinária de palavras (uma palavra só é quebrada se for muito grande para caber em uma linha):
fold -sw 80 <text.txt
3) prometendo largura de linha fixa sem quebra de palavras (se a palavra for muito grande para caber em uma linha, ela ainda é deixada como está, então algumas linhas podem ter tamanho maior do que o necessário):
fmt -w 80 <text.txt
E para mais opções de formatação, consulte par
- link
fold -w 100 -s text.txt
funcionou para mim, já que preciso dividir cada linha até 100 caracteres
Tags text-processing