Batch file 如何删除CRLF空白行

Batch file 如何删除CRLF空白行,batch-file,sed,Batch File,Sed,我有一个日志文件,其中有空格,我想删除它们,但是,在某些情况下,真正的日志行以CR结尾,有些以CR LF结尾 我怎么能SEL/AWK/TR有CR LF和没有文本的空白行?我在下面的每一行中添加了返回值,以向您展示它在Notepad++中的外观 我尝试了以下命令,但是,在某些情况下,它会从其他日志行中删除最后的特许 sed -i "s/.$//" %Logs%\%DIR1%/%FILENAME1 转动这个 08-22 08:54:53.612 I/SystemServer( 760): Sta

我有一个日志文件,其中有空格,我想删除它们,但是,在某些情况下,真正的日志行以CR结尾,有些以CR LF结尾

<>我怎么能SEL/AWK/TR有CR LF和没有文本的空白行?我在下面的每一行中添加了返回值,以向您展示它在Notepad++中的外观

我尝试了以下命令,但是,在某些情况下,它会从其他日志行中删除最后的特许

sed -i "s/.$//" %Logs%\%DIR1%/%FILENAME1
转动这个

08-22 08:54:53.612 I/SystemServer(  760): StartUserManagerServic
08-22 08:54:53.612 I/SystemServiceManager(  760): Starting com.android.server.pm.UserManagerService$LifeCycl
08-22 08:54:53.613 I/SystemServer(  760): InitAttributerCach
进入这个

08-22 08:54:53.612 I/SystemServer(  760): StartUserManagerService
08-22 08:54:53.612 I/SystemServiceManager(  760): Starting com.android.server.pm.UserManagerService$LifeCycle
08-22 08:54:53.613 I/SystemServer(  760): InitAttributerCache
示例:添加了CRLF的日志。试图删除空格而不切断真实的日志< /P>
08-22 09:13:42.018 D/TESTAPP( 7560): <<< Server Application info >>> <CR><LF>
08-22 09:13:42.018 D/TESTAPP( 7560): Name: Subscription<CR><LF>
08-22 09:13:42.018 D/TESTAPP( 7560): Package: com.bla.bla2<CR><LF>
08-22 09:13:42.018 D/TESTAPP( 7560): Version Name: 1.0.32.47<CR><LF>
08-22 09:13:42.018 D/TESTAPP( 7560): Version Code: 32<CR>
<CR><LF>
08-22 09:13:42.019 I/TESTAPP( 7560): (95): Upgrade for Subscription is not available<CR>
<CR><LF>
08-22 09:13:42.020 W/TESTAPP( 7560): (95): Unable to get the information of ccom.bla.bla as it is not installed<CR>
<CR><LF>
08-22 09:13:42.021 W/TESTAPP( 7560): (95): Unable to get the information of com.bla.bla as it is not installed<CR>
<CR><LF>
08-22 09:13:42.023 W/TESTAPP( 7560): (95): Unable to get the information of com.bla.bla<CR>
08-22 09:13:42.018 D/TESTAPP(7560):>
08-22 09:13:42.018 D/TESTAPP(7560):名称:订阅
08-22 09:13:42.018 D/TESTAPP(7560):包:com.bla.bla2
08-22 09:13:42.018 D/TESTAPP(7560):版本名称:1.0.32.47
08-22 09:13:42.018 D/TESTAPP(7560):版本代码:32
08-22 09:13:42.019 I/TESTAPP(7560):(95):订阅升级不可用
08-22 09:13:42.020 W/TESTAPP(7560):(95):无法获取ccom.bla.bla的信息,因为它未安装
08-22 09:13:42.021 W/TESTAPP(7560):(95):无法获取com.bla.bla的信息,因为它未安装
08-22 09:13:42.023 W/TESTAPP(7560):(95):无法获取com.bla.bla的信息

sed-i“s/\r//”test.log将修复您有CR CRLF的问题

ISTM您的数据有以CRLF结尾的行,其他CRCRLF结尾的行,因此我建议
sed s/\x0d\x0a/\x0d\x0a/g
应该执行此任务。您是否在DOS环境中运行?您是否关心非空行如何结束?@Magoo,这不起作用sed-i“s/\x0d\x0d\x0a/\x0d\x0a/g”test.log或sed“s/\x0d\x0d\x0a/\x0d\x0a/g”test.log>test\u new.logTry
sed-es/\x0d\x0d\x0d\x0d\x0a/g test.log>newfile.txt。实际上,
sed-es/\x0d\x0d/\x0d/g test.log>newfile.txt
应该做同样的事情。遗憾的是,“不起作用”没有多少沟通。是的,这也不起作用