提取批处理脚本中指定单词下面的行并更改格式

提取批处理脚本中指定单词下面的行并更改格式

我有一个“test.txt”文件,其格式如下:

xdfdfdf
ydffddf
zddfdfd
blah ...
WordA
12
23
45
...
32
12
65
xdfdfdf
ydffddf
zddfdfd
blah ...
WordA
54
76
67
...
68
31
85
xdfdfdf
ydffddf
zddfdfd
blah ...
WordA
89
65
45
...
32
51
75
xdfdfdf
ydffddf
zddfdfd
blah ...
....

我只想提取号码在每个“wordA”下面,重新格式化数据连续2 跳过格式并生成一个输出文件(如“Output.txt”)。必须注意的是,每个“wordA”下包含数值数据的行数是固定的(例如 18 行)。

结果应采用以下格式:

12 45 ... 32 65
54 67 ... 68 85
89 45 ... 32 75
....

有人能帮我吗?我找到了 FindRepl.bat,但是我无法使用我想要的。我更喜欢简单而简洁的东西。

答案1

不错的小工作:

@echo off &setlocal enabledelayedexpansion
(for /f %%a in (input.txt) do (
    if "%%~a"=="WordA" (
        if defined line echo(!line:~0,-1!
        set "line="
    )
    (for /f "delims=0123456789" %%b in ("%%~a") do break) || set "line=!line!%%~a "
)
if defined line echo(!line:~0,-1!)>output.txt

相关内容