我有一個腳本可以將數據從串口轉儲到終端和硬盤。到終端的輸出看起來很好,但是文件在寫入一個^ M之後每一行都會產生一個額外的換行符。從文件輸出中刪除額外的換行符
違規代碼:
# run and dump to file.
loop {
# output data to log file.
data = sp.read
data.delete!("\C-M") # Removes escape character.
if(data != "")
puts data
File.open($log_file, 'a') { |f| f.write(data) }
end
}
輸出示例: 在終端:
1
2
3
在文件
1
2
3
編輯:解決方案是運行data.delete !(「\ CM」)在讀取後。
不起作用。下面是一個評論,額外的換行符是由^ M序列創建的。 Chomp刪除最終的換行符,但對接收到的數據中的其他換行符不做任何處理。 – Kenneth