![]() |
Нужна программа, выдергивания текста...
Доброго времени суток!!! Натолкнулся на проблему, которую не хочется решать вручную.... Объясняю что надо : У меня есть 2 файла в которых набор id (это id людей из контакта) столбиком ... Мне надо, чтобы программа отсканировала 2 файла и выдала мне, какие id из двух файлов не повторяются во втором файле , но и не обращала внимания на id которые не повторяются в первом. |
BMW09121985,
http://en.wikipedia.org/wiki/Compari...mparison_tools Сравнение файлов - Compare, Merge http://forum.ru-board.com/topic.cgi/...=1244&start=80 |
BMW09121985, не очень понятен вопрос. Перефразируйте на примере.
|
Цитата:
1 файл_:_________________2 файл: 15432546_______________1968546 11122254_______________16985645 16489562_______________15432546 18564592_______________13546985_______________Мне теперь надо айдишки из второго файла, которых нету в первом - > 1968546, 13546985 , 136599852, 16526985_______________136599852_______________136599452,1566486418 .... 16985645_______________136599452 13265844_______________1566486418 |
То есть, найти во втором файле все строки, которые отсутствуют в первом файле? Тогда так:
Код:
findstr.exe /v /g:"0001.txt" "0002.txt" |
Цитата:
И куда потом выводится результат ? РАЗОБРАЛСЯ, огромнейшее спасибо !!!! :clapping: |
|
Цитата:
Благодарочка :victory: |
Iska, Привет!
Столкнулся с проблемкой! К примеру есть 2 файла 0001.txt (3500 строк) и 0002.txt (4000 строк), теоретически в 0003.txt должно быть 500 строк но там меньше ! Уже долго пользуюсь этим батником и только сегодня заметил такую проблемку! |
Упакованные в архив образцы файлов «0001.txt (3500 строк)», «0002.txt (4000 строк)» и «должно быть 500 строк» — в личку.
|
А мне можно эти образцы получить? Задача заинтересовала. Если там "персональная" инфа, то не надо, конечно.
|
Из письма в PM:
Цитата:
Цитата:
Цитата:
|
Iska, Ок, а то я вообще ума не приложу, почему так !
|
BMW09121985, факт подтверждаю. Причины мне не ясны: обычный текст, состоящий из банальных цифр, нет проблем с концами строк. Не знаю, на что можно грешить во входных данных.
В качестве обходного пути предлагаю попробовать скрипт WSH: На Вашем примере это может выглядеть так: Код:
cscript.exe //nologo SomeScript.vbs /Source:0002.txt /Filter:0001.txt 1>0003.txt |
Iska, А можно подробнее об этом использовании ?
Я в скриптах 0 ! |
Сохраняете приведённый выше код в файл с расширением «.vbs», например «SomeScript.vbs». Можно использовать Блокнот.
Возможно, самым простым для Вас будет использовать пакетный файл, подобный ранее использовавшемуся: Код:
findstr.exe /v /g:"0001.txt" "0002.txt" >"0003.txt" Код:
cscript.exe //nologo SomeScript.vbs /Source:0002.txt /Filter:0001.txt 1>0003.txt «1>0003.txt» — обычное перенаправление вывода stdout скрипта в файл. Разумеется, можно указывать пути, а не только имена. При наличии пробелов и т.п. в именах/путях — заключайте их в кавычки. |
|
Вложений: 1
BMW09121985, так: Файл 90961 понятнее?
|
Iska, Да, у меня уже получилось! Огромное спасибо!
|
BMW09121985, успехов! «Свистите», ежели что.
|
Iska, отлично, сам не знал такого способа, взял на заметку, вдруг пригодится. :) Благодарю!
|
Цитата:
Свищу! Теперь вот такая вот проблема: 0001.txt 42167строк 0002.txt 44055строк Получается что 0003.txt должен быть 1888строк, а в нем 1905! Что, отсылать вам файлики ? |
|
Iska, отправил!
Мои шифровки расшифрованы в шапке :) |
BMW09121985, получил, проверил. Не вижу ошибок. Выходной файл — 1905 строк. Из тех строк файла «0002.txt», которые отсутствуют в «0001.txt».
Как Вы определяли, что должно быть 1888 строк? |
Цитата:
|
Выполните «2.cmd», в котором источник и фильтр поменяны местами:
Код:
cscript.exe //nologo SomeScript.vbs /Source:0001.txt /Filter:0002.txt 1>0004.txt Код:
1888+17=1905 P.S. Все эти арифметические выкладки, разумеется, справедливы до тех пор, пока в файлах нет дубликатов. |
Цитата:
|
Цитата:
Цитата:
Из письма в PM: Цитата:
|
Доброго времени суток.
Отличный способ. Похожая ситуация, не хотел создавать отдельную тему, есть файл в котором текст в колонку. Как можно сделать, так что б к каждому рядку в начале текста добавить то что мне надо. Пример |
Код:
for /f "delims=" %%i in (FileIn.txt) do echo Вася_%%i>>FileOut.txt |
Iska, Может не по теме, хотел спросить, как можно разделить текстовый файл на несколько с нужным количеством ?
К примеру есть файл с 2052 строк, а мне надо его разделить на 36 файликов по 57 строк! |
Цитата:
|
Цитата:
Cut Mail list - режет файлы со строковыми данными на более мелкие части. Правда делалась для разделки е-майл листов и минимальное число строк 200. Если есть желание скину исходник, перекомпилируете сами. |
Доброго времени суток
Iska, пожалуйста можете подправить этот код так чтоб можно было на кнопку в тотале повесить. Код с поста #33 |
KooDI, посмотрю ночью.
|
Посмотрел.
E:\Песочница\0363\SplitTextFile.vbs: Настройки кнопки обычны: |
Ого даже так, это просто супер, спасибо огромное, один универсальный скрипт, можно задавать сколько надо строк в окошечке, не думал что так можно...)
Можете подсазать в какой строке и где подставить(если это не сложно, и не надо весь код скрипта изменять) символ _, что б было с суфиксом _1, _2, _3...? |
Цитата:
Код:
strDestFile = .BuildPath(.GetParentFolderName(strSourceFile), .GetBaseName(strSourceFile) & "_|." & .GetExtensionName(strSourceFile)) |
Время: 23:08. |
Время: 23:08.
© OSzone.net 2001-