我试图解析以以下内容开头的多行:
Procedure = xxxxx::xxxx Description = xxxxxx
另外,我想忽略.txt文件中SH Library Procedure = $(Stem)_test
哪个单词相同Procedure
。我想搜索所有* .txt文件并在输出文件中累积日期,我将使用该文件在req管理工具中上载。
这是文件示例:
Harness Lib Greenhills BLD Add Excluded Files = FALSE Harness Lib Template Project File = Harness Lib Generated Project File = Harness Lib Generate Compiler Project File = FALSE SH Library Procedure = $(Stem)_test Harness Lib Source Lists Add Excluded Files = FALSE Harness Lib Substitute Unused Source Files = FALSE Macro Standard 1 = Set TBRUN_MACRO_STANDARD_1 in Testbed.ini Procedure = sander_class::sander_class Member Of = 1 Creation Date = Jun 21 2019 14:36:44 Description = This test is to verify that constructor is called. Req Tested: 67060-SWINTR-73
我已经尝试过下面的代码,但是它不能Procedure
以特定格式打印。
@echo off
(
for /f "tokens=1,*" %%a in ('find "Procedure =" ^< "TEST.txt"') do (
for /f "tokens=1,*" %%d in ('find "Description =" ^< "TEST.txt"') do (
for /f "tokens=1,2 delims=#" %%c in ("%%b") do (
echo(Procedure %%~nxc
echo(
echo(Procedure %%a
echo(
echo(Description %%d
echo(
echo(Path: %%~pb
echo(
)
)
)>"output file.txt"
pause
我需要以下格式的输出用于同一文件夹中的所有文件(.txt):
File Name = Procedure = sander_class::sander_class Description = This test is to verify that constructor is called. Req Tested: 67060-SWINTR-73
@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
SET "destdir=U:\destdir"
SET "filename1=%sourcedir%\q57185510.txt"
SET "outfile=%destdir%\outfile.txt"
(
FOR /f "tokens=*" %%a IN (
'findstr /R /b /C:" *Procedure =" /c:" *Description =" "%filename1%" '
) DO ECHO %%a
)>"%outfile%"
GOTO :EOF
您将需要更改的设置sourcedir
并destdir
适合您的情况。清单使用适合我系统的设置。
我使用了一个名为q57185510.txt
包含您的数据的文件进行测试。
产生定义为 %outfile%
我使用了一个特定的文件进行测试;对于所有文件,然后将其设置为文件filename1
掩码,例如*.txt
。
findstr
所有文件中匹配以正则表达式“ regex-string”开头的filename1
行的外观。这里的“ regex”是正则表达式的一小部分,但是感兴趣的特定表达式是例如(任意数量的)Procedure =,它与所讨论的两行匹配。/b
/r
/c:"regex-string"
SpaceSpace
该tokens=*
抑制前导空格,生产所需要的线。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句