![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] обработка в подстроке |
|
CMD/BAT - [решено] обработка в подстроке
|
Новый участник Сообщения: 13 |
Есть файл 1.txt с текстом вида:
261|12571301873099|315|abcacabjac|| 262|12571301873105|345|sgdfgdfgdfg|| 263|12571301873112|368|dsgsdgsdgs|| 264|12571301873129|380|sdgsdgdsgs|| 265|12571301873136|382|fasfasfasfas|| 266|12571301873143|453|gdbdfbndfb|| 267|12571301873167|459|dfbfdbfdbdffdb|| 268|12571301873181|462|dfbfdbdfbdfbdf|| 269|12571301873204|601|fdbdfbdfbdfbfdd|| 270|12571301873228|731|dfbfdbdfbfdbdfbd|| 271|12571301873242|770|dfbfdbdfbdsfsdff|| надо парсить строки где третье число >394, Нужно вычесть из этого числа 394, и сделать дубль строки с остатком, если остается опять больше 394, то повторяем. |
|
Отправлено: 17:10, 27-07-2016 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 20:07, 27-07-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 13
|
Профиль | Сайт | Отправить PM | Цитировать megaloman, все верно, только надо строки с 394 оставлять,
т.е. должно получиться так 261|12571301873099|315|abcacabjac|| 262|12571301873105|345|sgdfgdfgdfg|| 263|12571301873112|368|dsgsdgsdgs|| 264|12571301873129|380|sdgsdgdsgs|| 265|12571301873136|382|fasfasfasfas|| 266|12571301873143|394|gdbdfbndfb|| 266|12571301873143|59|gdbdfbndfb|| 267|12571301873167|394|dfbfdbfdbdffdb|| 267|12571301873167|65|dfbfdbfdbdffdb|| 268|12571301873181|394|dfbfdbdfbdfbdf|| 268|12571301873181|68|dfbfdbdfbdfbdf|| 269|12571301873204|394|fdbdfbdfbdfbfdd|| 269|12571301873204|207|fdbdfbdfbdfbfdd|| 270|12571301873228|394|dfbfdbdfbfdbdfbd|| 270|12571301873228|337|dfbfdbdfbfdbdfbd|| 271|12571301873242|394|dfbfdbdfbdsfsdff|| 271|12571301873242|376|dfbfdbdfbdsfsdff|| |
Отправлено: 10:30, 28-07-2016 | #3 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать @echo off Set "File=1.txt" Set "FileOut=1.new.txt" Set /A MM=394 SetLocal EnableDelayedExpansion Del "%FileOut%" 2>nul FOR /F "usebackq tokens=1,2,3,4,5 delims=|" %%i IN ("%File%") DO ( Set /A kn=%%k/%MM% FOR /L %%a IN (!kn!,-1,1) DO ( Set /A kk=%%a*%MM% >>"%FileOut%" Echo %%i^|%%j^|!kk!^|%%l^|%%m^| ) Set /A kk=%%k-%%k/%MM%*%MM% If Not !kk! EQU 0 >>"%FileOut%" Echo %%i^|%%j^|!kk!^|%%l^|%%m^| ) Цитата pageYK@fb:
277|12571301873242|999|dfbfdbdfbdsfsdff|| то в ответе надо иметь 277|12571301873242|788|dfbfdbdfbdsfsdff|| 277|12571301873242|394|dfbfdbdfbdsfsdff|| 277|12571301873242|211|dfbfdbdfbdsfsdff|| ????????? |
|
------- Последний раз редактировалось megaloman, 28-07-2016 в 13:19. Отправлено: 13:08, 28-07-2016 | #4 |
Новый участник Сообщения: 13
|
Профиль | Сайт | Отправить PM | Цитировать megaloman, вот так
277|12571301873242|394|dfbfdbdfbdsfsdff|| 277|12571301873242|394|dfbfdbdfbdsfsdff|| 277|12571301873242|111|dfbfdbdfbdsfsdff|| |
|
Отправлено: 16:10, 28-07-2016 | #5 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать |
Отправлено: 19:04, 28-07-2016 | #6 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Цитата pageYK@fb:
@echo off Set "File=1.txt" Set "FileOut=1.new.txt" Set /A MM=394 SetLocal EnableDelayedExpansion Del "%FileOut%" 2>nul FOR /F "usebackq tokens=1,2,3,4,5 delims=|" %%i IN ("%File%") DO ( Set /A kn=%%k/%MM% FOR /L %%a IN (!kn!,-1,1) DO ( >>"%FileOut%" Echo %%i^|%%j^|%MM%^|%%l^|%%m^| ) Set /A kk=%%k-%%k/%MM%*%MM% If Not !kk! EQU 0 >>"%FileOut%" Echo %%i^|%%j^|!kk!^|%%l^|%%m^| ) |
|
------- Отправлено: 20:53, 28-07-2016 | #7 |
Необычный Сообщения: 4466
|
Профиль | Сайт | Отправить PM | Цитировать megaloman, alpap, просто монстры!
![]() |
Отправлено: 16:28, 03-08-2016 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Переменная в подстроке | pageYK@fb | Скриптовые языки администрирования Windows | 1 | 28-07-2016 00:47 | |
PowerShell - Обработка текста | hatun | Скриптовые языки администрирования Windows | 6 | 27-08-2013 06:44 | |
PowerShell - Сортировка файлов по подстроке | kostich | Скриптовые языки администрирования Windows | 12 | 15-12-2012 13:27 | |
Perl(Поиск строки в подстроке) | Jonik-Mnimonik | Программирование в *nix | 4 | 15-11-2010 17:42 | |
Обработка видео | Antonij | Видео и аудио: обработка и кодирование | 14 | 29-03-2007 21:44 |
|