2014-09-13 27 views
24

更換新行有輸出sed使用TR與空間

http://sitename.com/galleries/83450 
72-profile 

這兩個字符串應該合併成一個,並與空間等分離:

http://sitename.com/galleries/83450 72-profile 

兩個字符串流水線到tr在爲了用空格替換換行符:

tr '\n' ' ' 

而且它不是工作,結果與輸入相同。

用ASCII碼'\032'表示空格,用非打印字符替換\n

怎麼了?我在Windows上使用Git Bash。

+0

我測試管道用換行的文本文件相同的語法TR和它的作品。你怎麼做管道?文件是否有換行符和換行符?也許嘗試「tr」\ r \ n'''「 – 2014-09-13 19:31:20

回答

37

最好的猜測是你在windows上,你的行結束設置是爲windows設置的。 請參見本主題:How to change line-ending settings

或使用:

tr '\r\n' ' ' 
+0

同意關於窗口行尾。快速修復是'dos2unix文件'。祝你們好運。 – shellter 2014-09-13 20:46:39

+0

那麼腳本仍然有'\ r'。但它看起來並不像你想要的那樣工作。它將所有內容放在同一行上,而不是一次只放2行,然後你的FOR循環只會經歷一次。 – 2014-09-23 01:12:38