Como os comentários são ruins para a formatação, verifique se esse é o formato de entrada / saída correto desejado:
InputFile.txt:
Iamline1
Iamline2
Iamline3
GrouponeEndswithme
Group2startshere
Thisisgroup2line2
OUTPUTFILE.txt:
Iamline1Iamline2Iamline3GrouponeEndswithme Group2startshereThisisgroup2line2
Nesse caso, seu arquivo de saída com TODOS os grupos ainda é apenas UMA linha, não várias linhas. Isso também significaria que QUALQUER espaço em linhas em seus grupos de linhas seria indistinguível de um 'novo grupo' no arquivo de saída. Se este não for o formato desejado, POR FAVOR, forneça uma amostra de entrada e saída na descrição da sua pergunta.
Por sua descrição, aqui está um script que irá criar o seu arquivo. Por favor, certifique-se de modificar o 'open (' filename.txt ',' r ')' com o nome do arquivo correto.
#Line Formatter
newfile = open('newfile.txt', 'w+')
with open('filename.txt', 'r') as f:
group = ""
for line in f:
if len(line) > 0:
group += line + " "
else:
group = group + "\n"
newfile.write(group)
newfile.close()
Per @ MohsenEl-Tahawy aqui é sua solução perl:
perl -00ne 's/\n/ /g;print "$_\n";' inputfile