2017-02-17 38 views
2

我编写BASH脚本来从远程服务器转储日志。转储过程是确定的,因为在那之后我有大DUMPLOG.log文件提供必要的信息:Bash - 邮编后丢失新行字符

ACTION A 
ACTION B 
ACTION C 
ACTION A 

但之后,我打电话:zip "DUMPLOG" "DUMPLOG.log"解压后,我的文件看起来像这样:

ACTION A ACTION B ACTION C ACTION A 

是否有可能不在zip动作后丢失文件DUMPLOG.log中的换行符,但是仍然有很好的压缩?

感谢您的任何意见

编辑

后,我压缩我的DUMLOG.log文件(远程Linux机器),我发送电子邮件,并在Windows机器上unizp,然后我的日志没有换行符的文件。

+0

您是否正在压缩Windows机器上使用的文件? – Inian

+0

不是远程linux机器。在我将我的'DUMPLOG.log'文件压缩后,我通过电子邮件发送它。接下来,我将它解压到Windows机器上,然后我有没有换行符的日志文件 – MateuszW90

回答

2

你自己提到的问题,

unizp Windows机器上,然后我日志文件,而无需换行字符

由于远程服务器是基于Linux的,选择的文本文件的结尾将是Linux本地文件(即LF),您需要将其转换为在需要在Windows计算机上使用时同时具有Carriage Return (CR)后跟Line Feed (LF),CRLF 。使用工具unix2dos,这是为此。

使用unix2dos所有的.log文件之前压缩它,这应该解决您的问题。

+1

非常感谢你:) – MateuszW90