0 / 0 / 0
Регистрация: 29.05.2015
Сообщений: 33
1

Поиск заданного текста (части строки) в текстовом файле и вывод результата построчно в другой текстовый файл

02.09.2016, 16:22. Показов 2566. Ответов 6
Метки нет (Все метки)

Здравствуйте!
Есть файл 1.txt вида:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id0000000D.htm" target="objectparams">comp76.dmn (TCP/IP: 10.0.4.76)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id00000017.htm" target="objectparams">comp88.dmn (TCP/IP: 10.0.4.88)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id00000027.htm" target="objectparams">comp71.dmn (TCP/IP: 10.0.4.71)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id00000029.htm" target="objectparams">comp76.dmn (TCP/IP: 10.0.4.76)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id0000003D.htm" target="objectparams">comp88.dmn (TCP/IP: 10.0.4.88)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id00000049.htm" target="objectparams">comp76.dmn (TCP/IP: 10.0.4.76)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id00000055.htm" target="objectparams">comp71.dmn (TCP/IP: 10.0.4.71)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id00000059.htm" target="objectparams">comp76.dmn (TCP/IP: 10.0.4.76)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id0000005B.htm" target="objectparams">comp88.dmn (TCP/IP: 10.0.4.88)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id00000067.htm" target="objectparams">comp71.dmn (TCP/IP: 10.0.4.71)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id0000006F.htm" target="objectparams">comp71.dmn (TCP/IP: 10.0.4.71)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id00000071.htm" target="objectparams">comp71.dmn (TCP/IP: 10.0.4.71)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id0000007D.htm" target="objectparams">comp76.dmn (TCP/IP: 10.0.4.76)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id00000089.htm" target="objectparams">comp76.dmn (TCP/IP: 10.0.4.76)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id0000008B.htm" target="objectparams">comp71.dmn (TCP/IP: 10.0.4.71)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id00000095.htm" target="objectparams">comp76.dmn (TCP/IP: 10.0.4.76)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id0000009D.htm" target="objectparams">comp76.dmn (TCP/IP: 10.0.4.76)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id000000A7.htm" target="objectparams">comp88.dmn (TCP/IP: 10.0.4.88)</a>
<img align="middle" src="client.gif">&nbsp;<a href="viewobject_id000000A9.htm" target="objectparams">comp71.dmn (TCP/IP: 10.0.4.71)</a>
Необходимо выделить из текста, только названия comp76.dmn, comp88.dmn и т.д. и вывести построчно в отдельный файл, при этом удалив в найденном дубликаты. Сразу скажу, что количество символов до искомого названия и после него, может меняться.
Спасибо

Добавлено через 17 минут
..добавлю что цифры в названиях compXX также могут меняться, неизменным остаются только comp и *.dmn
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.09.2016, 16:22
Ответы с готовыми решениями:

Поиск одинаковых строк в текстовом файле и вывод дубликатов в другой текстовый файл
Добрый вечер. Нужна помощь знатоков Есть текстовый файл по пути D:\arxiv\rezult.txt с...

Поиск в текстовом файле и вывод результата в TextBox
Здравствуйте! Есть текстовый файл в нем есть данные в виде Текст который должен найти-Значение. На...

В текстовом файле построчно записаны предложения. Записать во второй текстовый файл первое слово последнего предложения
В текстовом файле построчно записаны предложения. Записать во второй текстовый файл первое слово...

Отсортировать все слова в огромном текстовом файле и сохранить в другой текстовый файл
Предположим есть текстовый файл размером... ну пусть 500 мегабайт текста. Как отсортировать слова в...

6
Любознательный
2249 / 822 / 222
Регистрация: 10.03.2016
Сообщений: 1,903
02.09.2016, 19:28 2
В соседней теме было же что-то подобное... пользуясь примером отсюда, легко составить нужный сценарий:
Windows Batch file
1
2
3
4
5
6
7
8
9
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('type "1.txt"^|findstr /rc:"comp[0-9]*\.dmn"') do (
    set "str=%%i"
    set str=!str:comp=`comp!
    set str=!str:.dmn=.dmn`!
    for %%a in ("!str:`=" "!") do echo %%a|>nul findstr /rc:"comp[0-9]*\.dmn"&&echo %%~a
)
pause&&exit
1
Нарушитель
3293 / 1080 / 297
Регистрация: 07.05.2015
Сообщений: 2,194
02.09.2016, 20:11 3
Лучший ответ Сообщение было отмечено iurum как решение

Решение

YuS_2, поправка с отбрасыванием повторений.
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@echo off
  setlocal enabledelayedexpansion
    for /f "delims=" %%i in (input.txt) do (
      set "s=%%i"
      set "s=!s:comp=#comp!"
      set "s=!s:.dmn=.dmn#!"
      for /f "tokens=2 delims=#" %%j in ("!s!") do (
        set "n=%%j"
        set "n=!n:~4,-4!"
        set "arr.!n!=%%j"
      )
    )
    for /f "tokens=2 delims==" %%i in (
      'set arr'
    ) do echo %%i>>out.txt
  endlocal
exit /b
2
Любознательный
2249 / 822 / 222
Регистрация: 10.03.2016
Сообщений: 1,903
02.09.2016, 20:40 4
Цитата Сообщение от greg zakharov Посмотреть сообщение
поправка с отбрасыванием повторений
Да, точно, дубли-то не удалены...
Ваш код учитывает все моменты - вот, что значит опыт помноженный на знание!
0
0 / 0 / 0
Регистрация: 29.05.2015
Сообщений: 33
05.09.2016, 13:20  [ТС] 5
Все работает, огромное спасибо!

Добавлено через 3 часа 34 минуты
greg zakharov, При цикличном запуске скрипта, в файл out.txt все время в конец добавляются позиции, а нужно чтобы он обновлялся каждый раз. Попробовал в 15 строке убрать одну > , стал выдавать в итоге только одну позицию, скажем comp22, хотя в input.txt присутствуют и comp22, comp23, comp24...
И можно еще добавить в конце скрипта строчку
Windows Batch file
1
blat -server mail.dmn -f root@dmn.ru -to admin@dmn.ru -subject "Test" -attach out.txt
0
Нарушитель
3293 / 1080 / 297
Регистрация: 07.05.2015
Сообщений: 2,194
05.09.2016, 16:08 6
iurum, после setlocal enabledelayedexpansion добавьте проверку на существование входного файла и если таковой существует - удаляйте, например:
Windows Batch file
1
if exist input.txt del /f /q input.txt
1
0 / 0 / 0
Регистрация: 29.05.2015
Сообщений: 33
05.09.2016, 16:36  [ТС] 7
greg zakharov, Спасибо большое, разобрался.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2016, 16:36

Определить в текстовом файле количество нечетных чисел и записать их в другой текстовый файл
Очень Простая задача

Вывод текста с n-строки по m-строку в текстовом файле
Вывод текста с n-стро-и по m-стро-у в текстовом файле

Поиск в текстовом файле и вывод всей строки
Здравствуйте, имеется форма с 2 текстбоксами и кнопкой, также имеется текстовый файл с записями...

Поиск в текстовом файле слова и вывод блока текста, в котором оно встретилось
Здравствуйте! Подскажите пожалуйста как будет выглядеть код мне нужно реализовать поиск по txt...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.