首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Fart.exe替换一行中的两个回车

Fart.exe替换一行中的两个回车
EN

Stack Overflow用户
提问于 2017-09-01 17:26:44
回答 1查看 1.4K关注 0票数 0

我有csv文件,在该文件中,我试图使用Fart.exe将一行的两个回车替换为一个回车。首先,这可能吗?如果是这样的话,CSV内的文本将如下所示,其中"CRLF“是实际的回车。

代码语言:javascript
运行
复制
,CRLF
CRLF

但我希望它只是这样,没有额外的第二行的回程:

代码语言:javascript
运行
复制
,CRLF

我想我可以做以下几件事,但这行不通:

代码语言:javascript
运行
复制
CALL "C:\tmp\fart.exe" -C "C:\tmp\myfile.csv" ,\r\n\r\n ,\r\n

我需要知道如何将,\ in \r\n改为什么,以使其工作。有什么办法让我做到这一点吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2017-09-01 19:40:40

正如壁球员所建议的那样,你只是在尝试删除空行。

没有必要使用第三方工具来做到这一点。您可以简单地使用FINDSTR丢弃空行:

代码语言:javascript
运行
复制
findstr /v "^$" myFile.txt >myFile.txt.new
move /y myFile.txt.new *. >nul

然而,只有当所有线路都以CRLF结束时,这才能起作用。如果您有一个以LF结尾的unix格式化文件,那么它将无法工作。

一个更健壮的选择是使用JREPL.BAT -正则表达式命令行文本处理实用程序

代码语言:javascript
运行
复制
jrepl "^$" "" /r 0 /f myFile.txt /o -

如果将命令放入批处理脚本中,请确保使用调用JREPL。

放屁一次处理一行,而CRLF不被认为是线的一部分。所以你不能用普通的放屁命令来移除CRLF。如果您真的想使用屁,那么您将需要使用-B二进制模式。您还需要使用-C来获得对转义序列的支持。

我从来没有用过放屁,所以我不能肯定--但我相信下面的方法会有效的

代码语言:javascript
运行
复制
call fart -B -C myFile.txt "\r\n\r\n" "\r\n"

如果您有许多连续的空行,那么您将需要重复运行FART命令,直到没有更多的更改。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46005299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档