Как добавить разрыв строки между каждой строкой в ​​текстовом файле? - PullRequest
0 голосов
/ 27 июня 2019

Я запускаю пакетный скрипт для создания строк в текстовых файлах с переносами строк. Это для целей тестирования и обучения.

У меня есть текстовый файл с именем file.txt, который содержит

this is line one
this is line two
this is line three

Я запускаю пакетный скрипт с кодом,

type file.txt >> output.txt
echo >> output.txt
type file.txt >> output.txt

Ожидается output.txt,

this is line one

this is line two

this is line three

Но, фактический вывод получается в output.txt,

this is line one
this is line two
this is line three
(Empty line here)

Все, что мне нужно, это разрыв строки между каждой строкой. Любая помощь будет оценена по достоинству.

1 Ответ

2 голосов
/ 28 июня 2019

Оператор перенаправления >> добавляет данные к цели перенаправления (файл output.txt в вашей ситуации), но не может ничего вставить в них.

Для достижения вашей целивам нужно прочитать ваш входной файл file.txt построчно.Это можно сделать с помощью for /F цикла , например:

rem // Write to output file:
> "output.txt" (
    rem // Read input file line by line; empty lines and lines beginning with `;` are skipped:
    for /F "usebackq delims=" %%L in ("file.txt") do @(
        rem // Return current line:
        echo(%%L
        rem // Return a line-break:
        echo/
    )
)

Это добавляет еще один разрыв строки и, таким образом, пустую строку в конце.Если вы хотите избежать этого, вы можете использовать переменную, например:

rem // Reset flag variable:
set "FLAG="
rem // Write to output file:
> "output.txt" (
    rem // Read input file line by line; empty lines and lines beginning with `;` are skipped:
    for /F "usebackq delims=" %%L in ("file.txt") do @(
        rem // Do not return line-break before first line:
        if defined FLAG echo/
        rem // Return current line:
        echo(%%L
        rem // Set flag variable to precede every following line by a line-break:
        set "FLAG=#"
    )
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...