0 / 0 / 0
Регистрация: 11.03.2019
Сообщений: 13
|
||||||
1 | ||||||
Поиск значения в txt файле по значению из другого txt11.03.2019, 14:23. Показов 2187. Ответов 16
Метки нет (Все метки)
Добрый день.
Подскажите пожалуйста как осуществить поиск значения в txt файле по значению из другого txt с помощью bat файла. Суть задачи: 1. Есть txt файл для храниния значений (LOG.txt) 2. Есть txt файл (to_log.txt), который выгружается программой в определенную папку и мы копируем данные с него в LOG.txt (дописываем вконец файла). 3. Для этого есть bat файл с авто запуском (see_to_log.bat). Он висит в памяти и раз в несколько секунд проверяет появился ли в нужной нам папке to_log.txt и выполняет задачу копирования и переименования (to_log1.txt):
1 0534009999740 804 99999 вввввввв, ввв. 74, ввввв, , вввввв. вввввввввввв 1 2 2 1 4 20 0.00 0.00 ввввввввввввввввввввввввввв/2018/12/04.12.2018 ввв/ввв ввв0412.ввв;2666819074 5. Нам нужно искать совпадения по номеру (num) 0534009999740. Этот номер всегда имеет четкую позицию от начала строки с 9 позиции по 21 (всего 13 знаков). Этот номер есть как в to_log.txt так и в LOG.txt 6. Задача, добавить код в see_to_log.bat (как мы уже делаем), но что бы в момент дописывания to_log.txt в LOG.txt искать по номеру (num). И если есть совпадение - делать какой-то алерт, + выводить всю строку совпадения в новый txt (double.txt).
0
|
11.03.2019, 14:23 | |
Ответы с готовыми решениями:
16
Нужно заменить строку в файле text.txt словами из другого файла words.txt Поиск в заданной ветке реестра по значению параметра и запись в txt значение другого пораметра Переписать компоненты файла 1.txt в файл 3.txt так, чтобы в файле 3.txt числа шли в определенном порядке Поиск строк в одном txt-файле и добавление этих строк в другой txt-файл |
4336 / 2126 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|
12.03.2019, 00:23 | 2 |
а в приведенной строке не так
приводите достоверный вариант, а лучше живой кусок файла в архиве, будет видна и кодировка попутно и есть ли кириллица. Может ли быть несколько строк с таким номером в файле, какую тогда брать в вывод при совпадении.
0
|
0 / 0 / 0
Регистрация: 11.03.2019
Сообщений: 13
|
|
12.03.2019, 13:04 [ТС] | 3 |
Да вы правы. Изначально структура формируется в файле to_log.txt.
Мы там имеем кусочек кода: 0 0534001067758 так вот изначально это 0 (fixed lenght 4 знака + Tab) и только потом начинается 0534001067758 (fixed lenght 13 знаков + Tab) А во время копирования в LOG.txt - Tab превращается в 0 (fixed lenght 8 знаков) и потом начинается 0534001067758 (fixed lenght 13 знаков + 3 пробела) Файлы в аттаче.
0
|
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
|
||||||
12.03.2019, 14:05 | 4 | |||||
Powershell вариант:
0
|
0 / 0 / 0
Регистрация: 11.03.2019
Сообщений: 13
|
|
12.03.2019, 14:18 [ТС] | 5 |
KDE777, Powershell вариант - хорошо, можно попросить тогда и первую часть дописать туда же. Что бы был один, цельный скрипт.
0
|
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
|
||||||
12.03.2019, 15:05 | 6 | |||||
Никаких бесконечных циклов с таймаутами. Для отслеживания нового файла используется подписка (System.IO.FileSystemWatcher) на событие о создание этого файла в нужном каталоге:
1
|
0 / 0 / 0
Регистрация: 11.03.2019
Сообщений: 13
|
|
12.03.2019, 15:16 [ТС] | 7 |
Спасибо!
Где то потерялась часть которая копирует все данные из to_log.txt в X:\Arch\LOG\LOG.txt. Это событие должно выполнятся после проверки на дубли и только если их нет - копировать в LOG.txt. Если же есть - выдавать алерт и создавать файл log_dup.txt. Еще раз спасибо!
0
|
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
|
|
12.03.2019, 15:33 | 8 |
С чего вы это взяли???
Запускаю скрипт из #6 1. В C:\temp\ есть файл: LOG.txt Кликните здесь для просмотра всего текста
2. копирую в c:\temp файл: to_log.txt Кликните здесь для просмотра всего текста
3. На экране появляется: Код
0534001067758 found in C:\Temp\log.txt 0534001067820 found in C:\Temp\log.txt 0534001067555 new string -> C:\Temp\log.txt 0534001067839 found in C:\Temp\log.txt 0534001067666 new string -> C:\Temp\log.txt log.txt Кликните здесь для просмотра всего текста
5. В c:\temp появляется файл: log_dup.txt Кликните здесь для просмотра всего текста
6. Имя файла to_log.txt меняется на to_log1.txt
0
|
0 / 0 / 0
Регистрация: 11.03.2019
Сообщений: 13
|
|
12.03.2019, 15:46 [ТС] | 9 |
Спасибо!
Немного все же не так. Мы храним LOG.txt на сетевом диске в подпапке: X:\Arch\LOG\LOG.txt. И сюда же нужно дописывать to_log.txt Но! Дописывать только тогда когда не нашли дубликаты. Если же нашли хоть один - выдавать алерт и писать эти дубликаты в файл log_dup.txt. Спасибо еще раз!
0
|
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
|
|
12.03.2019, 16:07 | 10 |
У вас в архиве, в to_log.txt 3 строчки, т.е. если хотя бы одна из них содержит ID из log.txt, тогда мы не добавляем и другие строки (с не совпадающими ID)?
0
|
0 / 0 / 0
Регистрация: 11.03.2019
Сообщений: 13
|
|
12.03.2019, 16:12 [ТС] | 11 |
да, в данном случае мы ничего не запишем в LOG.txt. Но должны выдать алерт и записать в log_dup.txt.
Если этих дублирующихся данных (ID) не будет - тогда пишем в LOG.txt.
0
|
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
|
||||||
12.03.2019, 16:52 | 12 | |||||
0
|
0 / 0 / 0
Регистрация: 11.03.2019
Сообщений: 13
|
|
12.03.2019, 18:04 [ТС] | 13 |
KDE777, спасибо вроде все работает.
Подскажите еще пожалуйста, можно ссылку на запуск данного ps1 файла положить в автозапуск? А так же у меня сразу был вопрос с ExecutionPolicy. Для запуска задал в системе Set-ExecutionPolicy Unrestricted. Или нужны другие права? с привязкой может к папке? Спасибо!
0
|
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
|
|
12.03.2019, 18:12 | 14 |
Можно но не нужно. Создайте в планировщике задачу, срабатывающую на вход пользователя в систему, которая будет запускать powershell.exe с параметрами:
-ExecutionPolicy bypass -file "c:\Script\script.ps1" соответсвено, Set-ExecutionPolicy можете совсем не трогать.
0
|
0 / 0 / 0
Регистрация: 11.03.2019
Сообщений: 13
|
|
13.03.2019, 16:40 [ТС] | 15 |
KDE777, спасибо!
1. LOG.txt - сейчас наполняется через powershell и получается структура файла не меняется, такая же как и в to_log.txt (fixed lenght 4 знака + Tab + fixed lenght 13 знаков + Tab) 2. Не знаю с чем связано но как то не стабильно работает. 1й раз вставляю файл to_log.txt - он копируется в LOG.txt. Удаляю, вставляю снова этот же файл - выдает ошибку: to_log.txt NOT contains ID. Снова удаляю - вставляю - переносит в log_dup.txt И так со всеми файлами. То копирует и переименовывает - то нет... Кусок тхт, скриншоты того как выглядит структура тхт и ошибки прикрепляю. Спасибо!
0
|
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
|
||||||
13.03.2019, 17:25 | 16 | |||||
Если скрипт отрабатывает, то удалять уже нечего, т.к. "to_log.txt", после обработки, автоматически переименовывается в "to_log1.txt". А если вы этот файл удаляете руками, значит скрипт ещё не закончил свою работу...
Это говорит о том, что по заданному шаблону в файле ничего не найдено или "to_log.txt" просто пустой. Возможно это последствия ручного удаления to_log.txt И ещё, какая у вас версия PS?
0
|
0 / 0 / 0
Регистрация: 11.03.2019
Сообщений: 13
|
||||||
13.03.2019, 19:12 [ТС] | 17 | |||||
KDE777, PowerShell версии 3.0 и обновить выше не получится по ряду причин.
Я так же изменил строку параметров в планировщике на:
Спасибо еще раз!
0
|
13.03.2019, 19:12 | |
13.03.2019, 19:12 | |
Помогаю со студенческими работами здесь
17
Дополнить .txt файл из другого .txt файла недостающими данными Заменить кусок текста в .txt текстом из другого .txt Посчитать сколько в файле input.txt символов и записать их количество в output.txt Файл: Написать программу нахождения в файле .txt нужной строчки по значению в ней. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества
Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
|
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов.
. . .
|
С чего начать программировать микроконтроллеры
raxper 06.01.2025
Введение в мир микроконтроллеров
Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
|
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
|
Обновление сайта www.historian.by
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
|
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
|
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list):
s=^y]
p=x and y
for i in range(1,len(x)):
s. append((x^y)^p)
p=(x and y)or(p and (x or y))
return s
x=list()
y=list()
|
Это мы не проходили, это нам не задавали...(асихронный счётчик с управляющим сигналом зад
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
|