2013-05-14 186 views
1

我有一組大文本文件。例如,War and Peace from Project Gutenburg。我需要使文本適合文本文件中的一行(顯然非常長),即沒有換行符。我在OS X上使用bash。將文本文件轉換爲一行

到目前爲止,我嘗試了幾個不同的命令來將文件(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

可能會在文本文件中有'\ r \ N'行尾?這對我來說是正確的。 – squiguy 2013-05-14 17:35:56

+0

就像@squiguy也建議,嘗試'tr -d'\ r \ n' output.txt' – 2013-05-14 17:36:41

+0

@squiguy Woohoo!這樣可行。你想離開作爲答案嗎? – 2013-05-14 17:37:03

回答

3

由於文本文件可能有一個額外的\r,UNIX操作系統可能無法識別它們。所以,你可以使用它代替:

tr -d '\r' <input> output 

或在這種情況下,刪除所有換行符使用:

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