2013-05-14 3 views
1

У меня есть набор больших текстовых файлов. Например, War and Peace from Project Gutenburg. Мне нужно сделать так, чтобы текст вписывался в одну (очевидно, очень длинную) строку в текстовом файле, т. Е. Ни одна строка не прерывалась. Я использую bash для OS X.Преобразование текстового файла в одну строку

До сих пор я пробовал несколько различных команд, чтобы преобразовать файл (pg2600.txt) в новый файл (output.txt) безрезультатно.

tr -d '\n' <pg2600.txt > output.txt представляется многообещающим, но когда я его открываю в текстовом редакторе, разрывы строк все еще существуют.

Конечной целью является что-то преобразовать так:

"Madame, I doubt my ability before such an audience," said he, 
smilingly inclining his head. 

в

"Madame, I doubt my ability before such an audience," said he, smilingly inclining his head. 
+3

Может текстовый файл имеет '\ г \ n' окончаниях строк? Это выглядит правильно для меня. – squiguy

+0

Так же, как и предложил @squiguy, попробуйте 'tr -d '\ r \ n' output.txt' –

+0

@squiguy Woohoo! Это работает. Вы хотите оставить ответ? –

ответ

3

Поскольку текстовые файлы могут иметь дополнительные \r, операционные системы UNIX не может их распознать. Таким образом, вы могли бы использовать это вместо того, чтобы:

tr -d '\r' <input> output 

Или в этом случае, чтобы удалить все переводы строк использовать:

tr -d '\r\n' <input> output