как удалить любые две буквы между двумя знаками «>» и «/» в каждой строке в текстовом файле, используя bat?
59/592582ae031011e6e19f141877341409
93/93ffff76b4fc11e85a8d2cfda1bf577d
1b/1b730c7216ae11e6cd8f141877341409
33/335902e616af11e6cd8f141877341409
a9/a9034ee4b39e11e55f83141877341409
69/69bd29c8031011e6e19f141877341409
Любой язык - как удалить любые две буквы между двумя знаками «>» и «/» в каждой строке в текстовом
-
megaloman
Re: Любой язык - как удалить любые две буквы между двумя знаками «>» и «/» в каждой строке в текстовом
sergey14235, что должно получиться в ответе?
-
megaloman
Re: Любой язык - как удалить любые две буквы между двумя знаками «>» и «/» в каждой строке в текстовом
sergey14235, никак
в батнике не получится анализировать строки содержащие >
в батнике не получится анализировать строки содержащие >
-
Busla
Re: Любой язык - как удалить любые две буквы между двумя знаками «>» и «/» в каждой строке в текстовом
Цитата Busla:
в батнике не получится анализировать строки содержащие >
Подобное заявление простительно начинающим.
Цитата sergey14235:
как удалить любые две буквы между двумя знаками «>» и «/» в каждой строке в текстовом файле, используя bat?
Примерный алгоритм: опрашиваем файл на количество строк, перенаправляем его содержимое в отладочный поток, узнаем длину строки, на основании чего генерируем пару случайных чисел (индексы букв в строке), по этим индексам режем строку на сегменты. В переводе на cmd это примерно будет так:
Код:
Проще в cmd только используя sed.
в батнике не получится анализировать строки содержащие >
Подобное заявление простительно начинающим.
Цитата sergey14235:
как удалить любые две буквы между двумя знаками «>» и «/» в каждой строке в текстовом файле, используя bat?
Примерный алгоритм: опрашиваем файл на количество строк, перенаправляем его содержимое в отладочный поток, узнаем длину строки, на основании чего генерируем пару случайных чисел (индексы букв в строке), по этим индексам режем строку на сегменты. В переводе на cmd это примерно будет так:
Код:
Код: Выделить всё
@echo off
setlocal enabledelayedexpansion
for /f %%i in ('find /v /c "" ^< file.txt') do set "n=%%i"
3<file.txt (
for /l %%i in (1, 1, !n!) do (
set /p s=<&3
for /f "tokens=2 delims=><" %%j in ("!s!") do set "raw=%%j"
call:strlen !raw!
call:rand !i! f
call:rand !i! s
if !f! gtr !s! (
set "var=!f!"
set /a "f=!s!","s=!var!"
)
if !f! equ !s! (
if !s! equ !i! (set /a "f-=2","s-=1") else set /a "s-=1"
)
rem строка и индексы, как извлечь подстроки, сообразите сами
echo !raw! !f! !s!
)
)
endlocal
exit /b
:strlen
set "s=%~1"
set /a "i=1"
:while
set "c=!s:~%i%!"
if defined c set /a "i+=1"&goto:while
exit /b
:rand
set /a "r=!random! * %~1 / 32768 + 1"
set "%~2=!r!"
exit /bПроще в cmd только используя sed.
-
megaloman
Re: Любой язык - как удалить любые две буквы между двумя знаками «>» и «/» в каждой строке в текстовом
Busla, Я не понимаю, в чём задача, но если надо из приведенного текста из файла сделать файл с текстом
Цитата:
592582ae031011e6e19f141877341409
93ffff76b4fc11e85a8d2cfda1bf577d
1b730c7216ae11e6cd8f141877341409
335902e616af11e6cd8f141877341409
a9034ee4b39e11e55f83141877341409
69bd29c8031011e6e19f141877341409
То вот код
Код:
Цитата:
592582ae031011e6e19f141877341409
93ffff76b4fc11e85a8d2cfda1bf577d
1b730c7216ae11e6cd8f141877341409
335902e616af11e6cd8f141877341409
a9034ee4b39e11e55f83141877341409
69bd29c8031011e6e19f141877341409
То вот код
Код:
Код: Выделить всё
@Echo Off
Set "InFile=Z:\Box_Arc\txt.txt"
Set "OutFile=Z:\Box_Arc\txt2.txt"
2>nul Del "%OutFile%"
FOR /F "usebackq tokens=1,2,* delims=>/" %%i IN ("%InFile%") DO (>"%OutFile%" &>>"%OutFile%" Echo.)
Exit /B