![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Сравнение и объединение файлов |
|
CMD/BAT - Сравнение и объединение файлов
|
Новый участник Сообщения: 3 |
Добрый день.
Есть два файла: 1.txt с таким содержимым: 200842;text1;text2;text3;text4;text5 200844;some_text1;some_text2;some_text3;some_text4;some_text5 200846;ttext1;ttext2;ttext3;ttext4;ttext5 200847;ntext1;ntext2;ntext3;ntext4;ntext5 200848;otext1;otext2;otext3;otext4;otext5 200849;xtext1;xtext2;xtext3;xtext4;xtext5 200850;ztext1;ztext2;ztext3;ztext4;ztext5 и 2.txt с таким: 200842;0;04041900378031 200844;0;07322540013610 200844;0;07322540381634 200846;0;07322540353358 200847;0;05413760054025 200848;0;04603212002693 200849;0;04603212002709 200850;0;00732250353310 200850;0;07322540353310 (В каждом файле несколько тысяч строк) Как бы создать третий файл, который представляет из себя копию первого, но с добавленным из второго файла ( в случае совпадения первых позиций) третьим полем. Т.е., первая строка в новом файле будет выглядеть как: 200842;text1;text2;text3;text4;text5;04041900378031 |
|
Отправлено: 18:40, 06-08-2012 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Более интересны примеры для второй и последней строк первого файла, для которых есть повторы во втором файле. Что должно получаться в результате?
|
Отправлено: 07:09, 07-08-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Извините, плохо сформулировал условия.
До первого вхождения, т.е. итог будет таким: 200842;text1;text2;text3;text4;text5;04041900378031 200844;some_text1;some_text2;some_text3;some_text4;some_text5;07322540013610 200846;ttext1;ttext2;ttext3;ttext4;ttext5;07322540353358 200847;ntext1;ntext2;ntext3;ntext4;ntext5;05413760054025 200848;otext1;otext2;otext3;otext4;otext5;04603212002693 200849;xtext1;xtext2;xtext3;xtext4;xtext5;04603212002709 200850;ztext1;ztext2;ztext3;ztext4;ztext5;00732250353310 Сделал вот так: echo off for /f "tokens=1-7 delims=;" %%i in (1.txt) do ( call :inner %%i ) goto :eof :inner for /f "tokens=1-3 delims=;" %%a in (2.txt) do ( IF "%%i"=="%%a" 1>>3.txt echo %%i;%%j;%%k;%%l;%%m;%%n;%%o;%%c && goto :break ) :break Вроде работает, но очень медленно Есть способы ускорить? |
Последний раз редактировалось veresov, 07-08-2012 в 12:43. Отправлено: 11:02, 07-08-2012 | #3 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата veresov:
|
|
Отправлено: 22:29, 07-08-2012 | #4 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать gora, спасибо!
Так, действительно, быстрее. ( почти в 15!!! раз) |
|
Отправлено: 10:44, 08-08-2012 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Сравнение текстовых файлов | Speedy | Программное обеспечение Windows | 9 | 30-03-2015 02:42 | |
Объединение/разделение txt файлов | AlexeyN | Программное обеспечение Windows | 6 | 27-11-2012 09:40 | |
объединение inf файлов | netsupport | Хочу все знать | 5 | 14-07-2010 09:45 | |
Delphi - [решено] Сравнение файлов. | Snake750 | Программирование и базы данных | 6 | 15-03-2010 00:42 | |
Сравнение файлов | Guest | Программирование и базы данных | 6 | 24-04-2004 04:47 |
|