问题
I write some expect scripts by connecting to a remote host through serial connection.
My problem is that the output of the spawned process (enabled with log_user 1
) contains DOS-style endings (each line being terminated with ^M
when reading logs in VIM).
I normally run dos2unix
on all logs at the end of the expect session, to get rid of them. Can the conversion be done in real time?
回答1:
It turned out the problem is really simple.
What I am doing with my scripts is calling them like below:
expect script.exp > mylog
As told in the description, mylog
contains ^M
line-endings when opened in Vim or using cat -v mylog
.
To get rid of them in real-time, I just call now:
expect script.exp | tr -d '\r' > mylog
来源:https://stackoverflow.com/questions/30786082/convert-expect-output-from-dos-to-unix-style-in-realtime