2013-05-14 190 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