第一次发帖并提前为自己是一个完整而彻底的新手道歉。我继承了一些我只是想破解解决方案的东西,我对它的了解为零。我已经搜索了论坛并相信已经找到了部分答案(sed 命令)但是,我在让它成功运行方面遇到了问题。
我需要让它在 Windows 机器上运行,它以前用于在 .csv 文件中进行简单替换,现在我需要插入标题行。
我有一个“fixit.cmd”文件,其中包含这个;
set batdir=C:\Sed\filepath\batch
set impdir=C:\Sed\filepath\import
set filename=xxx
:: to read as parameter, uncomment next line
:: set filename=%1
cscript //NoLogo %batdir%\sed.vbs 1i"ABC,123" < %impdir%\%filename%.csv > %impdir%\%filename%_fixed.csv
pause
我有一个“sed.vbs”文件,其中包含这个;
Dim pat, patparts, rxp, inp
pat = WScript.Arguments(0)
patparts = Split(pat,"/")
Set rxp = new RegExp
rxp.Global = True
rxp.Multiline = False
rxp.Pattern = patparts(1)
Do While Not WScript.StdIn.AtEndOfStream
inp = WScript.StdIn.ReadLine()
WScript.Echo rxp.Replace(inp, patparts(2))
Loop
当我运行“fixit.cmd”时,我收到错误;
sed.vbs(7, 1) Microsoft VBScript runtime error: Subscript out of range: '[number: 1]'
我假设指向“sed.vbs”内容仅支持先前的替换和/或我的标题行插入字符串不正确。
我需要在“sed.vbs”内容和/或我的标题行插入字符串中进行哪些修改才能成功插入标题行?
非常感谢任何/所有的支持。