想要删除错误的回车" CRLF"在文件中但保留正确的文件。我认为我有一些可行的逻辑,但不能完全确定脚本。
其中^ p代表“回车”
用yestemp替换是^ p
用notemp替换No ^ p
将非活动^ p替换为inactivetemp
将^ p替换为“”(即null)
用Yes ^ p替换Yestemp
将notemp替换为No ^ p
将inactivetemp替换为Inactive ^ p
答案 0 :(得分:0)
我想你可以用纯粹的原生批次做到这一点,但这会很痛苦,而且可能很慢。
使用JREPL.BAT - a hybrid JScript/batch regular expression find/replace utility这是微不足道的。它是从XP开始在任何Windows机器上本机运行的纯脚本 - 不需要第三方exe文件。完整文档内置于实用程序中,可通过jrepl /?
访问,或jrepl /??
可用于分页输出。
以下解决方案基于您的评论中的规范:
Blockquote txt文件包含LF和CRLF值。我想保留的字符串是YesLF和NoLF。我想删除所有其他LF和CRLF字符串
以下是使用/T
选项
jrepl "(Yes|No)\n:\r?\n" "$&:" /t ":" /m /f "yourFile.txt" /o -
这是一个使用/J
选项和一些用户提供的JScript
jrepl "((Yes|No)(?=\n))?\r?\n" "$1?$0:''" /j /m /f "yourFile.txt" /o -