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

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

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

Ветеран


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

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


Изменения
Автор: Alexander_88
Дата: 20-03-2015
Здравствуйте, я опять за помощью
Присутствует список ссылок в тхт файле.. пример:

Код: Выделить весь код
<a href="http://loogle.com/file/acc4b05d85/00010start_VFG-181_google.com.wmv" target="_blank">[VFG-181] - 2.2 GB</a>
<a href="http://loogle.com/file/04e5zfs3e0c4e3/00011start_START-141_A_google.com.wmv" target="_blank">[START-141_A] - 854.2 MB</a>
<a href="http://loogle.com/file/a529ehgdbeab/00012start_START-141_B_google.com.wmv" target="_blank">[START-141_B] - 625.1 MB</a>
<a href="http://loogle.com/file/4da56zZ921f/00013start_WWE-320_google.com.mp4" target="_blank">[WWE-320] - 1.8 GB</a>
необходимо сделать так, чтобы похожие имена ссылок объеденились в одну строчку, притом, нижняя ссылка становилась справа от верхней. Объединенных ссылок может быть несколько. (две, три, пять...)
Я выделил то, что необходимо проверять.
Известно то, что объединенные ссылки в выделенной части имеют одно и тоже название до символа "_"
после символа может уже быть по разному, к примеру А, B, C или CD1, CD2, CD3 и т.д.
также известно, что квадратные скобки есть только в одном месте (рядом с выделенной частью).
еще в объединенных ссылках всегда есть символ "_" А в обычных ссылках его нету (речь идет не для всей ссылки целиком, а только для зоны в квадратных скобках, которая выделена жирным)
В конце применения БАТ не должно оставаться пустых строк.

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

Код: Выделить весь код
<a href="http://loogle.com/file/acc4b05d85/00010start_VFG-181_google.com.wmv" target="_blank">[VFG-181] - 2.2 GB</a>
<a href="http://loogle.com/file/04e5zfs3e0c4e3/00011start_START-141_A_google.com.wmv" target="_blank">[START-141_A] - 854.2 MB</a> | <a href="http://loogle.com/file/a529ehgdbeab/00012start_START-141_B_google.com.wmv" target="_blank">[START-141_B] - 625.1 MB</a>
<a href="http://loogle.com/file/4da56zZ921f/00013start_WWE-320_google.com.mp4" target="_blank">[WWE-320] - 1.8 GB</a>

Отправлено: 16:26, 19-03-2015

 

Ветеран


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

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


Цитата Alexander_88:
вашь вариант попробовал, почему то выдается пустой 2.txt »
Наверное 4-ая powershell расслабляет, в плане синтаксиса:
Код: Выделить весь код
$content = get-content 1.txt

$groups = $content -replace '.+\[([^_]+)(\]|_.+\]).*','$1' | get-unique

foreach ($group in $groups) {

    $content | where { $_ -match $group } | foreach { $string += $_ }
    $string | add-content 2.txt
    $string = $null

}

Отправлено: 12:14, 20-03-2015 | #11



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

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


Ветеран


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

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


Foreigner,
Цитата Foreigner:
$content = get-content 1.txt $groups = $content -replace '.+\[([^_]+)(\]|_.+\]).*','$1' | get-unique foreach ($group in $groups) { $content | where { $_ -match $group } | foreach { $string += $_ } $string | add-content 2.txt $string = $null } »
опять пустой, не знаю почему, может в компьютере что то не то, хотя предыдущий (короткий код) сработал

Отправлено: 12:31, 20-03-2015 | #12


Ветеран


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

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


Alexander_88, Вы все в одну строку написали? Тогда конечно работать не будет.

Отправлено: 14:32, 20-03-2015 | #13


Ветеран


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

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


нет почему, это просто так процитировалось с форума

Отправлено: 15:02, 20-03-2015 | #14


Ветеран


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

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


Здравствуйте, подскажите, пожалуйста, как в таком варианте сделать объединение похожих ссылок?, по прежнему нужно объединять, если будет сходиться то, что выделено жирным, и этот ид (жирный) на сей раз начинается после первого знаком земли в ссылке, идем вправо и закончится он либо перед первым встречным знаком точки, либо первым встречным знаком земли

Код: Выделить весь код
<a href="http://fboom.me/file/064cf3f45692b/00001bondage_DCN-047.wmv" target="_blank">00001bondage_DCN-047.wmv - 1.0 GB</a>
<a href="http://fboom.me/file/6959d25c2772b/00002bondage_CMV-049.mp4" target="_blank">00002bondage_CMV-049.mp4 - 1.2 GB</a>
<a href="http://fboom.me/file/c5596a5a160d5/00003bondage_MUSO-0059.avi" target="_blank">00003bondage_MUSO-0059.avi - 1.2 GB</a>
<a href="http://fboom.me/file/50b2abc43d59c/00004bondage_ADV-R0055.avi" target="_blank">00004bondage_ADV-R0055.avi - 1.2 GB</a>
<a href="http://fboom.me/file/1facf228d65f5/00005bondage_SVND-053.avi" target="_blank">00005bondage_SVND-053.avi - 671.5 MB</a>
<a href="http://fboom.me/file/2769106a91036/00006bondage_AKHO-111.mp4" target="_blank">00006bondage_AKHO-111.mp4 - 1.1 GB</a>
<a href="http://fboom.me/file/dc5db791bdd82/00073bondage_CEAD-035.part1.rar" target="_blank">00073bondage_CEAD-035.part1.rar - 2.0 GB</a>
<a href="http://fboom.me/file/5db4a247108b7/00073bondage_CEAD-035.part2.rar" target="_blank">00073bondage_CEAD-035.part2.rar - 1.3 GB</a>
<a href="http://fboom.me/file/4db5fc2111b2e/00074bondage_CESD-072_A.part1.rar" target="_blank">00074bondage_CESD-072_A.part1.rar - 2.0 GB</a>
<a href="http://fboom.me/file/82c5f05f64e37/00074bondage_CESD-072_A.part2.rar" target="_blank">00074bondage_CESD-072_A.part2.rar - 863.7 MB</a>
<a href="http://fboom.me/file/fe5970a3bfd84/00075bondage_CESD-072_B.part1.rar" target="_blank">00075bondage_CESD-072_B.part1.rar - 2.0 GB</a>
<a href="http://fboom.me/file/d207982281e5f/00075bondage_CESD-072_B.part2.rar" target="_blank">00075bondage_CESD-072_B.part2.rar - 862.8 MB</a>

я использовал предыдущий вариант:
Код: Выделить весь код
(gc 1.txt) | Group {$_.split("_",3)[1]} | % {$_.Group -join "</blockquote><blockquote>"} > 2.txt
но к сожалению объединяются только ссылки, ид которых расположен между знаками земли (последние 4 ссылки)

Отправлено: 06:02, 10-05-2015 | #15


Ветеран


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

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



Последний раз редактировалось Alexander_88, 10-05-2015 в 17:19.


Отправлено: 12:00, 10-05-2015 | #16


Пользователь


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

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


Я не придумал ничего лучше..

Код: Выделить весь код
(gc 1.txt) | Group {$_.split("_",3)[1]} | % {-join $_.Group} > 2.txt
(gc 2.txt) | Group {($_.split("_",3)[1]).split(".")[0]} | % {-join $_.Group} > 3.txt
Итоговый файл 3.txt

Отправлено: 12:03, 13-05-2015 | #17



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Как создать несколько похожих картинок для анимации Вова123 Цифровое изображение 0 31-08-2013 15:50
jQuery подгрузка похожих данных из базы по мере набора binders Вебмастеру 0 19-09-2011 01:47
[решено] Где посмотреть список свойств ссылок (обычных ссылок интернета)? evg64 AutoIt 4 13-09-2009 13:41
Вид ссылок CTEPBA Вебмастеру 2 10-09-2006 22:48




 
Переход