首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用FART.exe将\r\n (文字)替换为\n

如何使用FART.exe将\r\n (文字)替换为\n
EN

Stack Overflow用户
提问于 2016-03-29 01:24:40
回答 2查看 8.4K关注 0票数 1

我在SQL Server2008中有一个用于批量加载的xml格式化文件。我需要用TERMINATOR="\n"替换TERMINATOR="\r\n"的实例。我正在尝试使用命令行工具FART.exe。无论我怎么尝试,似乎都不能让实用程序识别字符。

我尝试过作为find字符串和replace字符串的组合进行传递:

代码语言:javascript
运行
复制
\r\n \n
"\r\n" "\n"
""\r\n"" ""\n""
^\r^\n ^\n
TERMINATOR=""\r\n"" TERMINATOR=""\n""
TERMINATOR=""^\r^\n"" TERMINATOR=""^\n""

还有很多更多的组合。我查阅的每一篇关于转义DOS命令的文章都告诉我一些不同的东西,我都尝试过了,但都没有成功。真正奇怪的是,使用\r\n \n不仅没有完成我想要它做的事情(替换文字),而且它没有替换文件中每行末尾的回车+换行符。

我需要编辑的格式化文件。我相信我用红色下划线的那一行是有问题的:

调用Jrepl后的命令窗口输出。很明显,该实用程序对另一个屏幕截图中的红色下划线有问题:

EN

回答 2

Stack Overflow用户

发布于 2016-03-29 03:10:47

要将所有\r\n文字替换为\n,只需使用:

代码语言:javascript
运行
复制
fart yourFile.xml \r\n \n

要仅在较大的字符串TERMINATOR="\r\n"中替换,请使用:

代码语言:javascript
运行
复制
fart -C yourfile.xml TERMINATOR=\x22\\r\\n\x22 TERMINATOR=\x22\\n\x22

我更喜欢使用JREPL.BAT -它比FART强大得多,因为它可以使用正则表达式,而且它还有许多额外的高级功能。与FART相关的唯一限制是它一次只能处理一个文件。

\n替换所有\r\n文本

代码语言:javascript
运行
复制
jrepl \r\n \n /l /f yourFile.xml /o -

更具体地说,使用带引号的文字搜索字符串,将其转义为\q,使用反斜杠作为\\

代码语言:javascript
运行
复制
jrepl "TERMINATOR=\q\\r\\n\q" "TERMINATOR=\q\\n\q" /x /l /f yourFile.xml /o -

或使用正则表达式:

代码语言:javascript
运行
复制
jrepl "(TERMINATOR=\q)\\r(?=\\n\q)" "$1" /x /f yourFile.xml /o -
票数 1
EN

Stack Overflow用户

发布于 2019-01-18 05:53:33

最简单、最快的是fart二进制法,例如:

代码语言:javascript
运行
复制
fart.exe -C D:\sample.txt \x0d\x0a \x0a
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36267389

复制
相关文章

相似问题

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