我正在尝试使用 ms-dos 命令 findstr 查找字符串并将其从文件中删除。
目前我可以找到一个明确的字符串,但我真的很努力使用正则表达式。该文件如下所示:
PLs - TULIP Report
Output_Format, PLS - TULIP REPORT
NUMLINES, 110907
VARIABLE_TYPES,T1,T8,I,T9,T2,N,N,N
[[data below]]
该文件是从某个系统导出的,并且令人讨厌的是其中包含该标题-因此我想在使用 SQL Loader 将其导入 Oracle 数据库之前对其进行清理。
不仅有一个文件,而且所有文件都具有相同类型的标题,但每个文件中的标题略有不同。虽然我很高兴首先使用硬编码值删除前两行,例如:
findstr /v "PLs - TULIP Report" "c:\myfiles\file1.PRO" > "c:\myfiles\file1.csv"</code><br>
findstr /v "Output_Format, PLS - TULIP REPORT" "c:\myfiles\file1.csv" > "c:\myfiles\file2.csv"
(请注意我是如何分两步做到这一点的 - 任何可以一步完成的建议,将不胜感激)
第三行对我来说更复杂,它总是采用这种格式:
NUMLINES, 110907
除了每个文件末尾的数字不同。那么如何使用正则表达式找到整行呢?我努力了:
findstr /v /b /r "\D+ \s+ \d+"
但没有任何运气。
仅供参考,数据[[data below]]
看起来像
*,"00000161",456823,"017896532","FU",23.95,3.34,20.61
等等..显然,我不想修改数据区。
希望上面说的有道理
谢谢