|
0 / 0 / 1
Регистрация: 20.08.2016
Сообщений: 15
|
|
Сравнение списков и запись результатов20.08.2016, 05:33. Показов 1964. Ответов 9
Метки нет (Все метки)
Доброго времени суток всем.
Нуждаюсь в Вашей помощи, помогите написать батник. Нужно следующее: 1. Есть 1.txt файл со следующим примерным содержимым: /ho/upd/02/having-to-you-time.txt /hcontent/uplds/206/02/improved-compete-can-passes.jpg /w/s/201/their-with-pay-the.psd /lds/hct/skills-your-attention-more.log /hcont/uplds/206/02/the-or-the-will.to /ht/s/2/you-whole-The-knowledge.jpg 2. Есть второй 2.txt файл со следующим примерным содержимым: having-to-you-time.txt improved-compete-can-passes.jpg their-with-pay-the.psd skills-your-attention-more.log Нужно сравнить первый файл со вторым, при нахождении одинаковых значений, записать всю строку из 1.txt файла в 3.txt файл: /ho/upd/02/having-to-you-time.txt /hcontent/uplds/206/02/improved-compete-can-passes.jpg /w/s/201/their-with-pay-the.psd /lds/hct/skills-your-attention-more.log и записать то что осталось в 4.txt файл: /hcont/uplds/206/02/the-or-the-will.to /ht/s/2/you-whole-The-knowledge.jpg Файлы 1 и 2 могут быть размером больше 200 мегабайт. Спасайте, ума не приложу как реализовать это.
0
|
|
| 20.08.2016, 05:33 | |
|
Ответы с готовыми решениями:
9
Выполнение одной программы несколько раз и запись результатов в файл Сравнение списков |
|
6688 / 2279 / 348
Регистрация: 10.12.2013
Сообщений: 7,881
|
|
| 20.08.2016, 07:00 | |
|
если тебя интересует скорость выполнения и результат,
а не религиозные предпочтения, связанные с использованием синтаксиса именно интерпретатора cmd, то всё решение - это 2 одинаковые, отличающиеся только одним символом, суперкороткие строчки в .bat-файле, которые ты мог бы написать и сам, установив доп. инструментaрий cygwin. либо можно использовать powershell, если у тебя Виндовс 7 и старше.
0
|
|
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||||||||
| 20.08.2016, 22:38 | ||||||||
во-вторых осталось от чего, от 1.txt или от 2.txt?
0
|
||||||||
|
0 / 0 / 1
Регистрация: 20.08.2016
Сообщений: 15
|
||||||
| 21.08.2016, 00:05 [ТС] | ||||||
|
Сорьк. Наверное не правильно выразился.
Потом из 1.txt файла вычесть 3.txt файл и записать в 4.txt файл. Нужно сравнить первый файл со вторым, при нахождении одинаковых значений, записать всю строку из 1.txt файла в 3.txt файл. Реализовал вот так:
0
|
||||||
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|
| 21.08.2016, 16:59 | |
|
мой код выше, только 1...4...3 - а?
0
|
|
|
|
||||||
| 21.08.2016, 21:10 | ||||||
|
Avatarik
Для больших файлов, как и предложил volodin661, существуют более производительные средства. Например, утилита comm из пакета GNUWin32(порт из Linux) или Сygwin. Если я правильно понял вашу задачу, то решается она так:
1
|
||||||
|
|
|
| 21.08.2016, 22:58 | |
|
А теперь итоги "олимпиады":
Бегун под номером #6 добрался до финиша за 4 сек, преодолев дистанцию в 3_000_000 строк (30 mb). Бегун под номером #3 через 10 минут после финиша остановился передохнуть на строчке 64922 и далее больше уже не поднялся. (ограничение more ?). Второй забег на дистанцию 21_000_000 строк (272 mb) бегун под номером #6 смог закончить за 45 сек. Выпускать на дорожку бегуна #3 смысла не имело. PS: Файлы для сравнения для полноты теста отличались только одной последней строкой.
1
|
|
|
Любознательный
7405 / 2255 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
|
||
| 22.08.2016, 07:40 | ||
|
Лучше один раз установить на необходимое число компьютеров, действительно, функциональный набор программ, причем программ, напрямую предназначенных для работы в комстроке и забыть о ненужной потере времени. Только оформить бы их посерьёзнее и занести в закреплённые темы...
0
|
||
|
6688 / 2279 / 348
Регистрация: 10.12.2013
Сообщений: 7,881
|
||
| 22.08.2016, 11:10 | ||
|
идеи связанные с расширением / изменением об'являются еретическими ( в соврем. редакции еретизм заменяется термином offtop), еретики сжигаются ( блокируется аккаунт), их работы и книги уничтожаются ( сообщения удаляются ). По возвращению пастыря( модератора ) из отпуска вышеизложенное будет продемонстрировано в полной мере.
0
|
||
|
|
||||||
| 22.08.2016, 17:15 | ||||||
|
Дополню тест.
Справедливости ради, нужно уточнить, что вариант от alpap вполне работоспособен на файлах до ~60_000 строк, далее (точная граница числа строк непонятна) more просто ничего не передает. findstr этот диапазон отрабатывает всего за несколько секунд, а не минут как я ошибочно указал. Правда, поиск findstr делает нечисто, по непонятной причине пропуская часть идентичных строк файлов, которые ничем не отличались, например игнорировал строку с единственным символом 0 . Возможно дело в спецсимволах, которые присутствовали в строках. Вариант от ТС - не совсем правильный, поскольку писал в файл много лишнего, - я изменил так:
0
|
||||||
| 22.08.2016, 17:15 | |
|
Помогаю со студенческими работами здесь
10
Сравнение списков Сравнение списков Сравнение списков Сравнение списков Сравнение списков Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|