我尝试使用REPL.BAT删除文件中找到的换行符。
现在我有了这段代码
Type "C:\user\AllFiles\%%a.in.tmp" | C:\user\bat\repl.bat "%%s" "%%t" X > "C:\user\AllFiles\%%a.out.tmp"
%%s - Can be found in the first column of replace.txt
%%t - Can be found in the second column of replace.txt
请注意,以下示例将模式启动与AAA +任意3个字符匹配,并替换为XXXYYY
AAA\d{3} XXXYYY
现在我将如何实现用\ n替换\ R?
答案 0 :(得分:1)
<强> LINEBREAKS 强>
filter fix {lf|cr}
修复了行结尾的问题。
换行符处的行被破坏。如果前面有回车符,则两者都被删除。但是,没有换行的单个回车不会破坏该行。
cr - removes all stray CR and LF left on each line.
lf - add a LF to any CR embeded in the middle of the line.
然后在末尾写入带有CRLF的行(writeline方法添加它)。
示例强> 修复win.ini,而不是需要修复,并将其发送到屏幕
filter fix cr <"%systemroot%\win.ini"
您必须修改脚本,因为它需要命令行参数。
Set Arg = WScript.Arguments
set WshShell = createObject("Wscript.Shell")
Set Inp = WScript.Stdin
Set Outp = Wscript.Stdout
If Arg(1) = "cr" then
Do Until Inp.AtEndOfStream
Line=Inp.readline
Line=Replace(Line, vbcr, "")
Line=Replace(Line, vblf, "")
outp.writeline Line
Loop
End If
If Arg(1) = "lf" then
Do Until Inp.AtEndOfStream
Line=Inp.readline
Line=Replace(Line, vbcr, vbcrlf)
outp.writeline Line
Loop
End If
要使用,您需要使用cscript运行。
cscript //nologo c:\scriptname.vbs fix cr <inputfile.txt >outputfile.txt
我相信你可以修改它。正则表达式对此非常有用。
答案 1 :(得分:0)
您没有提供足够的信息供任何人提供完整的答案。
一般情况下,如果您想操纵M
(换行),则必须使用\n
(多行)选项。
以下内容将从文件中删除所有\r\n
和/或\n
。根据需要进行调整。
type file.txt|repl "\r?\n" "" m >out.txt