Всем привет!
Есть у меня файл, в нем есть строка под номером 57, а в ней 60, причем цифра там может быть какой угодно.
Надо получить вместо именно 57ой строки просто . При этом не затрагивая предыдущие и следующие строки в которых тоже есть
Пытался убрать эту строку через findstr, да как-то не получается...
Если это поможет, то в 56ой строке есть уникальный текст totalTime:
Очень нуждаюсь в помощи, спасибо!
CMD/BAT - [решено] Замена динамической строки по номеру
-
Iska
Re: CMD/BAT - [решено] Замена динамической строки по номеру
Цитата Itexz@twitter:
CMD/BAT - Замена динамической строки по номеру
WSH/PoSH+DOM.
CMD/BAT - Замена динамической строки по номеру
CMD/BAT - [решено] Замена динамической строки по номеру
WSH/PoSH+DOM.
-
Georgio
Re: CMD/BAT - [решено] Замена динамической строки по номеру
Почти как здесь:
CMD/BAT - Как добавить текст в середину текстрового файла
.Код: Выделить всё
@echo off
for /f %%i in ('find /c /v ""^<"YOUR.TXT"') do set n=%%i
(
for /l %%i in (1 1 %n%) do (
set string=
set /p string=
if %%i==57 (
set /p="<td></td>"<nul
echo.
) else (
if defined string (
call set /p="%%string%%"<nul
if %%i==%n% (
goto:eof
)
)
echo.
)
)
)<"YOUR.TXT">"YOUR_NEW.TXT"-
Itexz@twitter
Re: CMD/BAT - [решено] Замена динамической строки по номеру
Georgio, к сожалению то что вы написали удаляло много лишнего из файла.
В итоге нашел решение через
Код:
Sed.exe взял
Скачал там Binaries и Dependencies. В итоге для работы sed.exe понадобилось 4 файла
libiconv2.dll, libintl3.dll, regex2.dll, sed.exe
В итоге нашел решение через
Код:
Код: Выделить всё
sed.exe "56,57 d" results.html 1>results_wo_time.htmlSed.exe взял
отсюда
Скачал там Binaries и Dependencies. В итоге для работы sed.exe понадобилось 4 файла
libiconv2.dll, libintl3.dll, regex2.dll, sed.exe
-
Georgio
Re: CMD/BAT - [решено] Замена динамической строки по номеру
Цитата Itexz@twitter:
удаляло много лишнего из файла .
Что же такое может удаляться при применении данного кода, если это самый безопасный вариант для пакетных файлов?
Проблема может существовать, насколько я знаю, только со следующими сочетаниями символов:
1) знаки равенства "=" и их сочетание с пробелами в начале строки
2) непарная двойная кавычка """, находящаяся слева от угловых скобок "", амперсанда "&" и вертикальной черты "|" (интересно, что если в коде написать
Код:
или
Код:
, то всё будет в точности наоборот: "мешать" будет непарная кавычка, находящаяся справа от перечисленных символов)
3) пробелы, составляющие строку.
Первое и второе довольно редко встречается в HTML- и XML-файлах (хотя с таковыми сталкивался), третье практически несущественно. Все такие "плохие" строки в выходном файле обычно эаменяются на пустую строку, т. е. действительно удаляются.
Т. о., выход пока один: для обрабоки с помощью пакетного файла использовать "правильные" документы.
удаляло много лишнего из файла .
CMD/BAT - [решено] Замена динамической строки по номеру
Что же такое может удаляться при применении данного кода, если это самый безопасный вариант для пакетных файлов?
Проблема может существовать, насколько я знаю, только со следующими сочетаниями символов:
1) знаки равенства "=" и их сочетание с пробелами в начале строки
2) непарная двойная кавычка """, находящаяся слева от угловых скобок "", амперсанда "&" и вертикальной черты "|" (интересно, что если в коде написать
Код:
Код: Выделить всё
set /p string=""или
Код:
Код: Выделить всё
set /p "string=", то всё будет в точности наоборот: "мешать" будет непарная кавычка, находящаяся справа от перечисленных символов)
3) пробелы, составляющие строку.
Первое и второе довольно редко встречается в HTML- и XML-файлах (хотя с таковыми сталкивался), третье практически несущественно. Все такие "плохие" строки в выходном файле обычно эаменяются на пустую строку, т. е. действительно удаляются.
Т. о., выход пока один: для обрабоки с помощью пакетного файла использовать "правильные" документы.
-
Iska
Re: CMD/BAT - [решено] Замена динамической строки по номеру
Цитата Georgio:
Что же такое может удаляться при применении данного кода, если это самый безопасный вариант для пакетных файлов?
Georgio, перенаправление ввода/вывода!?
Я потому и предпочитаю использовать WSH в виде VBScript+DOM, потому как там в принципе отсутствует такое понятие, как «escape-последовательность», присущее строкам в пакетных файлах, на JScript и в PowerShell. И заранее не знаешь, где и в каком месте это тебе аукнется при обработке произвольного файла.
Что же такое может удаляться при применении данного кода, если это самый безопасный вариант для пакетных файлов?
CMD/BAT - [решено] Замена динамической строки по номеру
Georgio, перенаправление ввода/вывода!?
Я потому и предпочитаю использовать WSH в виде VBScript+DOM, потому как там в принципе отсутствует такое понятие, как «escape-последовательность», присущее строкам в пакетных файлах, на JScript и в PowerShell. И заранее не знаешь, где и в каком месте это тебе аукнется при обработке произвольного файла.
-
Georgio
Re: CMD/BAT - [решено] Замена динамической строки по номеру
Цитата Iska:
Я потому и предпочитаю использовать WSH в виде VBScript+DOM, потому как там в принципе отсутствует такое понятие, как «escape-последовательность», присущее строкам в пакетных файлах, на JScript и в PowerShell. И заранее не знаешь, где и в каком месте это тебе аукнется при обработке произвольного файла.
Согласен абсолютно, но возможность корректной трансляции содержимого одного текстового файла в другой с помощью пакетных файлов меня интересует именно с теоретической стороны. Что ж, "борьба продолжается"!
Я потому и предпочитаю использовать WSH в виде VBScript+DOM, потому как там в принципе отсутствует такое понятие, как «escape-последовательность», присущее строкам в пакетных файлах, на JScript и в PowerShell. И заранее не знаешь, где и в каком месте это тебе аукнется при обработке произвольного файла.
CMD/BAT - [решено] Замена динамической строки по номеру
Согласен абсолютно, но возможность корректной трансляции содержимого одного текстового файла в другой с помощью пакетных файлов меня интересует именно с теоретической стороны. Что ж, "борьба продолжается"!