Sei que posso usar algo como cat test.txt | pr -w 80
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 ser quebrado em uma determinada largura?
Pontos de bônus se você puder impedir que ele quebre palavras.
text-processing
cwd
fonte
fonte
fold -s -w 80 email.txt | sed 's/^.*$/> &/'
fold
quebra URLs, enquantofmt
não.Além de
fold
, dê uma olhadafmt
.fmt
tenta escolher as quebras de linha de maneira inteligente para fazer com que o texto fique bem Não quebra palavras longas, mas envolve apenas espaços. Ele também juntará linhas adjacentes, o que é bom para a prosa, mas ruim para os arquivos de log ou outro texto formatado.fonte
1) largura fixa garantida da linha com quebra de palavras:
2) largura fixa garantida da linha com quebra extraordinária de palavras (uma palavra só será quebrada se for muito grande para caber em uma linha):
3) prometer largura de linha fixa sem quebra de palavra (se a palavra for muito grande para caber em uma linha, ela ainda será deixada como está; portanto, finalmente, algumas linhas podem ter um tamanho maior do que o necessário):
fonte
Outra ferramenta (menos conhecida) que faz o que você quer é
wrap
do GNU Talkfilters :Também (fora do tópico):
adicionar
-t
ao invocarpr
para omitir cabeçalhos / trailers:fonte
E para mais opções de formatação, consulte
par
- http://www.nicemice.net/par/fonte
trabalhou para mim como eu preciso dividir cada linha até 100 caracteres
fonte