У меня есть файл «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 ответ1

0

Хорошая маленькая работа:

@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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .