Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки

Ответить
Настройки темы
Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки

Старожил


Сообщения: 216
Благодарности: 15

Профиль | Отправить PM | Цитировать


Доброго времени суток всем.
Знаю что тема уже изъезжена, но готового решения найти не получается.
Есть плейлисты (по сути текстовые файлы), при их создании может получаться большое количество дублирующих строк.
Например:
Код: Выделить весь код
#EXTINF:0, 1+1
http://193.106.211.2:1234/udp/225.1.1.103:4001
#EXTINF:0, ICTV
http://193.106.211.2:1234/udp/225.1.1.104:4001
#EXTINF:0, 5 канал
http://193.106.211.2:1234/udp/225.1.1.105:4001
#EXTINF:0, СТБ
http://193.106.211.2:1234/udp/225.1.1.106:4001
#EXTINF:0, ТРК «Украина»
http://193.106.211.2:1234/udp/225.1.1.107:4001
#EXTINF:0, Сити
http://193.106.211.2:1234/udp/225.1.1.108:4001
#EXTINF:0, Тонис
http://193.106.211.2:1234/udp/225.1.1.111:4001
#EXTINF:0, ТЕТ
http://193.106.211.2:1234/udp/225.1.1.110:4001
#EXTINF:0, ТРК «Киев»
http://193.106.211.2:1234/udp/225.1.1.114:4001
#EXTINF:0, Тонис
http://193.106.211.2:1234/udp/225.1.1.111:4001
#EXTINF:0, Мега
http://193.106.211.2:1234/udp/225.1.1.112:4001
#EXTINF:0, М1
http://193.106.211.2:1234/udp/225.1.1.113:4001
#EXTINF:0, канал «Киев»
http://193.106.211.2:1234/udp/225.1.1.114:4001
#EXTINF:0, 2+2
http://193.106.211.2:1234/udp/225.1.1.115:4001
#EXTINF:0, ТРК «Украина»
http://190.106.210.2:1234/udp/225.1.1.107:4001
Строки обязательно должны считываться попарно: название канала - адрес потока. В примере три дубликата, в первом повторяются и название и адрес, во втором - только адрес, в третьем - только название. Из этих дублирующихся строк нужно удалить только те, где повторяются и название и адрес, то есть в примере только первую пару.
Пересмотрел кучу различных скриптов, сам пробовал батники писать, но все они считывают по одной строке и в выходном файле может получится к названию канала несколько адресов или наоборот.
К примеру такой батник:
Код: Выделить весь код
@echo off
setlocal disableDelayedExpansion
set "file=%~1"
set "line=%file%.line"
set "deduped=%file%.deduped"
::Define a variable containing a linefeed character
set LF=^


::The 2 blank lines above are critical, do not remove
>"%deduped%" (
  for /f usebackq^ eol^=^%LF%%LF%^ delims^= %%A in ("%file%") do (
    set "ln=%%A"
    setlocal enableDelayedExpansion
    >"%line%" (echo !ln:\=\\!)
    >nul findstr /xlg:"%line%" "%deduped%" || (echo !ln!)
    endlocal
  )
)
>nul move /y "%deduped%" "%file%"
2>nul del "%line%"
в выходном файле делает так:
Код: Выделить весь код
#EXTINF:-1  group-title="Познавательные",Brodilo.TV
http://brodilo.tv/channel.php
#EXTINF:-1  group-title="Познавательные",Da Vinci Learning
http://hls.peers.tv/streaming/da_vinci/16/tvrecw/playlist.m3u8|User-Agent=DuneHD/1.0.3
http://194.28.155.10:81/udp/225.0.55.26:1234
#EXTINF:-1  group-title="Прочие каналы:",112 Украина 
#EXTINF:-1  group-title="Прочие каналы:",112 Украина HD
http://112hd-hls3.cosmonova.net.ua/hls/112hd_ua_mid/index.m3u8
http://app.live.112.events/hls-ua/112hd_mid/index.m3u8
#EXTINF:-1  group-title="Прочие каналы:",112 Украина [FHD]
#EXTINF:-1  group-title="Прочие каналы:",112 Україна
#EXTINF:-1  group-title="Прочие каналы:",112 Україна HD
#EXTINF:-1  group-title="Прочие каналы:",12 Канал (Омск)
http://12channel.bonus-tv.ru:80/stream549837052987/tracks-v1a1/mono.m3u8
#EXTINF:-1  group-title="Познавательные",Discovery Channel
http://st6.allplay.uz/iptv/4/index.m3u8
#EXTINF:-1  group-title="Познавательные",Discovery Channel HD
http://st6.allplay.uz/iptv/74/index.m3u8
Это отрывок из другого плейлиста, он слишком длинный для помещения в пример.
Другие скрипты делают аналогично.
Они сравнивают по одной строке.
Может кто подскажет как реализовать сравнивание строк попарно, чтобы не нарушалась структура плейлиста ?
Премного буду благодарен за помощь.

Отправлено: 23:26, 26-06-2019

 

Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить PM | Цитировать


Цитата Alex2010god:
В начале скрипта указан адрес: »
Хмм... на кофейной гуще не гадаю.
Где это видно?
Покажите полностью, что Вы запускаете, какая при этом возникает ошибка и главное - что в итоге желаете получить.
А применительно к указанному выше скрипту:
Код: Выделить весь код
function set-outfile {
    process{
        $file = 'out_'+$_.name
        @(for($i, $arr = 0, (gc $_.fullname -Encoding utf8); $i -lt $arr.Length;) {
           $a, $b = $arr[$i], $arr[$i + 1] # потенциальная пара
           # критерий относительно которого формируется пара
           if ($a.StartsWith('#EXTINF') -and $b -match ':\/\/') {
              # выводим пару в окно хоста
              "$a`n$b"
              # переходим на две позиции вперед
              $i += 2
           } else {
              # в противном случае переходим к следующему значению
              ++$i
              continue
           }
       }) | Sort-Object -Unique | Out-File $file -Encoding utf8
    }
}
$fld = 'D:\1\FILMOTEKA.M.C+\*'
dir $fld -inc *.m3u -file|set-outfile
путь можно указывать как относительный, так и абсолютный. Переменная $fld будет содержать тот путь, который Вы укажете и соответственно, от его правильности будет зависеть успешное выполнение скрипта.

-------
scio me nihil scire. Ѫ


Отправлено: 20:51, 05-08-2020 | #31



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Так все же видно на скриншотах(опубликованных ранее в теме,ничего не менял кроме версии ПоверШелл).

Отправлено: 20:08, 07-08-2020 | #32


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить PM | Цитировать


Цитата Alex2010god:
Так все же видно на скриншотах »
1. Забудьте про эту гадость, в смысле про Powershell ISE, запускайте скрипты в консоли или используйте VS Code...
2. Скрипт лучше показывать в текстовом виде, а не скриншотами...
3.
Цитата Alex2010god:
В начале скрипта указан адрес:
$aContent = Get-Content -Path 'D:\1\FILMOTEKA.M.C+\F.m3u' »
Это никакой не адрес, это считывание данных из файла и их запись в переменную... которая нигде более не используется.
4.
Цитата YuS_2:
и главное - что в итоге желаете получить. »
? На скриншоте никакого вопроса не видно

-------
scio me nihil scire. Ѫ

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:36, 07-08-2020 | #33


Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


Если нужны уникальные пары строк, то лучше наверное:

Код: Выделить весь код
Get-Content 1.m3u -ReadCount 2 | Sort-Object | Get-Unique

Отправлено: 20:47, 07-08-2020 | #34


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить PM | Цитировать


Цитата Foreigner:
Если нужны уникальные пары строк, то лучше наверное: »
здесь не просто уникальные пары нужны были, тут учитываются ошибочно составленные плейлисты и код, предложенный greg zakharov выправляет их, он просто завернут в функцию, которая обрабатывает несколько файлов сразу из определенного каталога ... в общем, выше по топику всё есть.

-------
scio me nihil scire. Ѫ


Отправлено: 21:31, 07-08-2020 | #35


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Для меня темный лес,ну попытался и не получилось(зря только версию на русском языке "ПоверШелл" сменил на английскую).
Цель была такова - обработать плейлист IPTV и выявить и удалить дубликаты.
Проще было бы батник скрипта сделать(положил в папку с плейлистом,нажал он сам все сделал и выдал готовый плейлист с тем же именем+цифра 01,последующий обработанный плейлист 02 и Т.Д.)
На просторах "паутины" нашел программу - без оболочки которая все это делает в один клик(искал неделю или две).

Отправлено: 00:53, 08-08-2020 | #36


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить PM | Цитировать


Цитата Alex2010god:
Цель была такова - обработать плейлист IPTV и выявить и удалить дубликаты. »
Создание скрипта, правильно решающего задачу, зависит от правильного составления условий той задачи...
Здесь существует несколько если:
Если плейлист составлен верно и в нем нет ошибок, описанных выше,
Если в плейлисте отсутствуют "лишние" строки, как-то, например маркер плейлиста (#EXTM3U) и т.п.,
Если цель - исключительно только удалить дублирующиеся ПАРЫ строк,
то для одного файла, достаточно запустить такой скрипт:
http://forum.oszone.net/post-2877089.html#post2877089

Код: Выделить весь код
# Здесь в одинарных кавычках необходимо указать свои: путь к файлу и наименование файла
$file = gi 'd:\исходный каталог\исходный файл.m3u'
# Формируем имя выходного файла:
$out = $file.directoryname + $file.basename + '_out' + $file.extension
# Удаляем дубликаты пар строк с одновременной сортировкой:
gc $file -r 2|sort -uni|out-file $out -enc utf8
Но, если необходима обработка в определенном каталоге всех файлов, в которых, как правило, как минимум, в наличии маркер плейлиста, то:
Код: Выделить весь код
function delete-marker {
	process{
		$file = $_.fullname
		if (($a = gc $_.fullname -enc utf8)[0] -match '^#EXTM3U'){
			$a[1..$a.length]|out-file $file -enc utf8
		}
	}
}

function set-outfile {
	process{
		$out = $_.directoryname + '\' + $_.basename + '_out' + $_.extension
		# Удаляем дубликаты пар строк с одновременной сортировкой
		gc $_.fullname -r 2 -enc utf8|sort -uni|out-file $out -enc utf8
	}
}

# Путь к каталогу с исходными файлами (астериск * - указывать обязательно):
$fld = 'D:\1\FILMOTEKA.M.C+\*'

# Сначала удаляем маркеры плейлиста из файлов:
$arr = dir $fld -inc '*.m3u','*.m3u8' -file|delete-marker

# Далее, вызов функции обработки файлов:
$arr|set-outfile
- но надо учитывать, что плейлисты не всегда составлены верно, где помимо маркера плейлиста могут присутствовать ошибки описанные выше, а кроме того, могут присутствовать и дополнительные теги, например #PLAYLIST или #EXTGRP и т.п. - этот скрипт такие моменты не учитывает и отработает ошибочно на таких плейлистах.
В общем, это уже другая задача, под которую необходимо составить перечень условий, т.е. вычленить все возможные "лишние" теги, которые надо либо удалить, либо просто добавить в строку, например (#EXTINF:-1 group-title="Общие",Евроновости), которая изначально может быть представлена так:
Цитата:
#EXTINF:-1 ,Евроновости
#EXTGRP:Общие
http://evronovosti.mediacdn.ru/sr1/e.../playlist.m3u8
- Нюансов там много и чтобы получить в итоге то, что хотелось бы, придется немного потрудиться и составить таки условия... а здесь Вам могут помочь решить задачу с определенными условиями, но не заниматься экстрасенсорикой в плане того, какие там ещё могут быть подводные течения в тех плейлистах... так что сорри, если что не так.

Цитата Alex2010god:
Проще было бы батник скрипта сделать »
Если Вам кажется, что это проще - сделайте, но боюсь, что при углублении в тему, Вы будете разочарованы в возможностях командной строки cmd при работе с текстом...

-------
scio me nihil scire. Ѫ


Последний раз редактировалось YuS_2, 08-08-2020 в 12:14.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:02, 08-08-2020 | #37


Аватара для Fors1k

Старожил


Сообщения: 193
Благодарности: 112

Профиль | Отправить PM | Цитировать


Цитата Uragan66:
»
Цитата Uragan66:
»
Не особо вчитывался в чем тут у вас загвоздка, но вроде как все решается одной строкой.
Код на скорую руку. С задачей, как я понимаю, справляется.
Код: Выделить весь код
param(
    $pathIN  = "C:\files\list.txt",
    $pathOUT = "C:\files\list_new.txt"
)cls

$List=((gc $pathIN -raw)|sls "#E[^#]+?(?<=://.+)(?=(`r|$))" -a).Matches.Value|sort -u
$List|out-file $pathOUT
Результат:


Такой ведь нужен?

Последний раз редактировалось Fors1k, 10-08-2020 в 15:26.


Отправлено: 17:58, 08-08-2020 | #38


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить PM | Цитировать


Цитата Fors1k:
Не особо вчитывался в чем тут у вас загвоздка »
А зря... после такого подхода, весь интернет пестрит кривыми плейлистами IPTV и зачастую, тысяч по 20-50 парных строк в них... увы.
А если проверить ещё и названия каналов на соответствие того, что в ссылках... там вообще мрак...

Цитата Fors1k:
С задачей, как я понимаю, справляется. »
Минимально встречавшиеся кривости (далеко не все возможные, наверное)
Код: Выделить весь код
#EXTM3U
#EXTINF:-1 ,0 - FREE-IPTV
/$USB_DIR/sda1/free_ip.m3u
#EXTINF:-1 ,Первый канал
#EXTGRP:Российские
http://gorod.tv/s/live/1/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Россия 1
http://gorod.tv/s/live/2/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Матч ТВ
http://gorod.tv/s/live/3/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,НТВ
http://gorod.tv/s/live/4/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Пятый канал
http://gorod.tv/s/live/5/46.252.219.59/1561632042766/0.m3u8
Здесь какая-то информация
http://gorod.tv/s/live/1/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Пятый канал
#EXTINF:-1 ,Россия К
#EXTGRP:Российские
http://gorod.tv/s/live/6/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Москва 24
http://91.231.219.145:80/tv_moscow_24/video.m3u8
#EXTINF:-1 ,Санкт-Петербург
http://91.231.219.145:80/tv_sankt_peterburg/video.m3u8
https://smarttvnews.ru/wp-content/uploads/2018/11/BT-2016-logo_color7890.png
https://smarttvnews.ru/wp-content/uploads/2018/11/BT-2016-logo_color7890.png
#EXTINF:-1 ,Discovery
http://hls-v3-spbtv.msk.spbtv.com/for_spb/msk/ipv3/154.m3u8
#EXTINF:-1 ,NASA TV
http://hls-v3-spbtv.msk.spbtv.com/for_spb/msk/ipv3/17.m3u8
#EXTINF:-1 ,Россия 24
http://gorod.tv/s/live/7/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Карусель
http://gorod.tv/s/live/8/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Первый канал
#EXTGRP:Российские
http://gorod.tv/s/live/1/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Россия 1
http://gorod.tv/s/live/2/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Матч ТВ
http://gorod.tv/s/live/3/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,НТВ
http://gorod.tv/s/live/4/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Пятый канал
http://gorod.tv/s/live/5/46.252.219.59/1561632042766/0.m3u8
Здесь какая-то информация
http://gorod.tv/s/live/1/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Пятый канал
#EXTINF:-1 ,Россия К
#EXTGRP:Российские
http://gorod.tv/s/live/6/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Москва 24
http://91.231.219.145:80/tv_moscow_24/video.m3u8
#EXTINF:-1 ,Санкт-Петербург
http://91.231.219.145:80/tv_sankt_peterburg/video.m3u8
https://smarttvnews.ru/wp-content/uploads/2018/11/BT-2016-logo_color7890.png
https://smarttvnews.ru/wp-content/uploads/2018/11/BT-2016-logo_color7890.png
#EXTINF:-1 ,Discovery
http://hls-v3-spbtv.msk.spbtv.com/for_spb/msk/ipv3/154.m3u8
#EXTINF:-1 ,NASA TV
http://hls-v3-spbtv.msk.spbtv.com/for_spb/msk/ipv3/17.m3u8
#EXTINF:-1 ,Россия 24
http://gorod.tv/s/live/7/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Карусель
http://gorod.tv/s/live/8/46.252.219.59/1561632042766/0.m3u8


Должно получится примерно это:
более-менее выправленный лист
Код: Выделить весь код
#EXTINF:-1 ,0 - FREE-IPTV
/$USB_DIR/sda1/free_ip.m3u
#EXTINF:-1 ,Discovery
http://hls-v3-spbtv.msk.spbtv.com/for_spb/msk/ipv3/154.m3u8
#EXTINF:-1 ,NASA TV
http://hls-v3-spbtv.msk.spbtv.com/for_spb/msk/ipv3/17.m3u8
#EXTINF:-1 ,Карусель
http://gorod.tv/s/live/8/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Матч ТВ
http://gorod.tv/s/live/3/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Москва 24
http://91.231.219.145:80/tv_moscow_24/video.m3u8
#EXTINF:-1 ,НТВ
http://gorod.tv/s/live/4/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Пятый канал
http://gorod.tv/s/live/5/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Россия 1
http://gorod.tv/s/live/2/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Россия 24
http://gorod.tv/s/live/7/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 ,Санкт-Петербург
http://91.231.219.145:80/tv_sankt_peterburg/video.m3u8
#EXTINF:-1 group-title="Российские",Первый канал
http://gorod.tv/s/live/1/46.252.219.59/1561632042766/0.m3u8
#EXTINF:-1 group-title="Российские",Россия К
http://gorod.tv/s/live/6/46.252.219.59/1561632042766/0.m3u8


Примерный код, возможно неоптимальный. Медленный, но верно работающий... :)
Код: Выделить весь код
param (
# Создаем три каталога для работы (в каждом будут находится плейлисты) 
	# Путь к каталогу с исходными файлами:
	[string]$infolder = 'D:\in',
	# Путь к каталогу с промежуточными файлами, т.е. исправленные плейлисты с возможными дубликатами:
	[string]$workfolder = 'D:\work',
	# Путь к каталогу с целевыми файлами без дубликатов:
	[string]$outfolder = 'D:\out',
	# Фильтр для отбора файлов:
	[string[]]$filter = ('*.m3u','*.m3u8')
)
function set-groupchannel {
	# Выправляем кривые плейлисты. Всё лишнее будет удалено, только группы #EXTGRP добавляются в строку #EXTINF
	process{
		$arr = new-object system.collections.generic.list[system.string]
		$fout = $fldwrk.fullname + '\' + $_.name
		gc $_.fullname -enc utf8|%{
			if($_ -match '^#extgrp'){
				$rep = $_ -replace '#extgrp:'
				if ($arr.length -gt 0){
					if ($arr[-1] -match '^#extinf' -and $arr[-1] -notmatch 'group-title'){
						$arr[-1] = $arr[-1] -replace '(?<=#extinf:\s*-?\d+)([^,]*),'," group-title=`"$rep`"$1,"
					}
				}
			} elseif ($_ -match '^#extinf') {
				if ($arr.length -gt 0){
					if($arr[-1] -match '^#extinf'){
						$arr[-1] = $_
					} else {$arr.add($_)}
				} else {$arr.add($_)}
			} elseif ($_ -notmatch '^#'){
				if($arr.length -gt 0){
					if($arr[-1] -match '^#extinf'){
						$arr.add($_)
					}
				}
			}
		}
		$arr|out-file $fout -enc utf8
	}
}

function set-outfile {
	# Удаляем дубликаты пар строк с одновременной сортировкой этих пар
	process{
		$out = $fldout.fullname + '\' + $_.name
		gc $_.fullname -r 2 -enc utf8|sort -uni|out-file $out -enc utf8
	}
}

if (!(test-path $workfolder)){md $workfolder}
if (!(test-path $outfolder)){md $outfolder}
$fldin = gi $infolder
$fldwrk = gi $workfolder
$fldout = gi $outfolder

# Исправляем плейлисты:
dir ($fldin.fullname + '\*') -inc $filter -file|set-groupchannel
# Удаляем дубликаты и сортируем:
dir ($fldwrk.fullname + '\*') -inc $filter -file|set-outfile

-------
scio me nihil scire. Ѫ


Последний раз редактировалось YuS_2, 09-08-2020 в 09:42. Причина: добавлен код для работы с плейлистами...


Отправлено: 07:31, 09-08-2020 | #39


Аватара для Fors1k

Старожил


Сообщения: 193
Благодарности: 112

Профиль | Отправить PM | Цитировать


Цитата YuS_2:
плейлистами IPTV »
Я, честно говоря, даже не знаю что это такое)
У всех интернет-провайдеров же цифровое тв практически бесплатно, так что не довелось столкнуться с iptv.
Цитата YuS_2:
Минимально встречавшиеся кривости (далеко не все возможные, наверное) »
Тут тоже самое, только еще какой-то #EXTGRP появился. Можно и его наличие учесть:
Код: Выделить весь код
param(
    $pathIN  = "C:\files\list.txt",
    $pathOUT = "C:\files\list_new.txt"
)cls

$List=((Get-Content $pathIN -raw) -replace "(`r`n#EXTGRP:)((?<=#EXTGRP:)[^`r]+)" , ' ($2)'|
      sls "#E[^#]+?(\.m3u.?|:\d{4})(?=`r|$)"-A).Matches.Value|sort {($_-split"`r`n")[1]} -u
$List|out-file $pathOUT
Теперь работает для всех трех примеров.
В общем интересно было поискать уникальные пары, а в самих плейлистах не шарю)

Последний раз редактировалось Fors1k, 11-08-2020 в 03:02.


Отправлено: 22:54, 10-08-2020 | #40



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - Удаление из txt файлов не нужных строк и дубликатов строк. voler Скриптовые языки администрирования Windows 1 26-02-2018 14:10
Delphi - Обработчик строк из текстового файла pageYK@fb Программирование и базы данных 18 11-08-2016 13:40
CMD/BAT - [решено] Удаление строки из текстового файла Elven Скриптовые языки администрирования Windows 2 29-11-2013 17:44
CMD/BAT - Поиск и копирование нескольких строк из текстового файла. valen Скриптовые языки администрирования Windows 0 07-11-2011 17:27
CMD/BAT - [решено] Перенос и удаление строк из текстового файла sk8ter Скриптовые языки администрирования Windows 15 03-10-2010 19:35




 
Переход