grep .
remove todas as linhas em branco. Você pode canalizar o resultado para fmt
para reformatar o texto para uma largura de sua escolha. Se você tiver o texto na área de transferência do X, xsel -b
irá obtê-lo de lá.
xsel -b | grep . | fmt -w 80 >reformatted.txt
Se você não quiser quebras de linha, poderá substituir as novas linhas por espaços, mas adicione uma nova linha no final.
xsel -b | grep . | tr '\n' ' '; echo
A saída não será muito boa, porque de acordo com a sua imagem, hífens são perdidos, então “vulgar / gar” sai como “vul gar”, “Thanks- / giving” como “Thanksgiving”, etc.
grep .
recolhe todos os parágrafos em um. Você pode evitar isso somente se houver alguma maneira em que os parágrafos estejam marcados em seu texto. Se houver uma única linha em branco entre as linhas do mesmo parágrafo e pelo menos duas linhas em branco entre o parágrafo, você poderá remover as quebras de linha e preservar as quebras de parágrafo da seguinte forma:
awk 'length {if (previous < NR-2) print ""; previous = NR; print}'
Você pode tentar executar pdftotext
diretamente no PDF. Isso não irá reformatar o texto e pode ou não incluir as linhas em branco (depende de como o PDF foi feito).