Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Построчное слияние текстовых файлов

 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
shveicar



Joined: 18 Apr 2011
Posts: 277
Location: Россия Москва

Post (Separately) Posted: Sun Oct 09, 2011 15:21    Post subject: Построчное слияние текстовых файлов Reply with quote

Здравствуйте. Существует необходимость объединения нескольких (более двух) текстовых файлов с ссылками (в них присутствуют знаки вида ?,&,#,/,=). Необходимо произвести слияние текстовых файлов в один, - но не так, как это делает texpipe (поочередное добавление всех ссылок из каждого файла), а так, чтобы каждая строчка из каждого текстового файла бралась поочередно. пример:
1.txt-
Code:

http://forum.wincmd.ru/
http://forum.wincmd.ru/viewforum.php?f=3

2.txt -
Code:
http://www.mail.ru/
http://www.hpc.ru/

3.txt -
Code:
http://www.hpc.ru/news/
http://www.hpc.ru/MacC/contacts/#buy

в результате должно получиться:- sliv.txt
Code:

http://forum.wincmd.ru/
http://www.mail.ru/
http://www.hpc.ru/news/
http://forum.wincmd.ru/viewforum.php?f=3
http://www.hpc.ru/
http://www.hpc.ru/MacC/contacts/#buy
Заранее благодарен за помощь.

Добавлено спустя 21 минуту:

Допустим, файлы будут выделяются в текущей панели, - а на противоположной появляется один общий файл. Спасибо Flasher.
_________________
"Пока Чубайсы у руля науки: - Мы будем долго пачкать нано-брюки"
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Oct 09, 2011 17:05    Post subject: Reply with quote

А число строк в каждом файле всегда идентично?
Back to top
View user's profile Send private message
shveicar



Joined: 18 Apr 2011
Posts: 277
Location: Россия Москва

Post (Separately) Posted: Sun Oct 09, 2011 17:37    Post subject: Reply with quote

Число строк в каждом из текстовых файлов разное, и может каждый раз меняться(имеется ввиду- для каждого конкретного задания может быть разное количество строк) . (по идеи, если строки в каком-либо файле заканчиваются, скрипт должен продолжить сортировку- слияние из следующих выделенных файлов)
_________________
"Пока Чубайсы у руля науки: - Мы будем долго пачкать нано-брюки"
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Oct 09, 2011 17:51    Post subject: Reply with quote

shveicar wrote:
имеется ввиду- для каждого конкретного задания может быть разное количество строк
Разное кол-во строк в каждом из файлов? Я тогда не понимаю смысл такого извращения. Ну, останутся куски при достижении минимума, и как предлагается их отсортировывать, в соотвествии с чем?
Back to top
View user's profile Send private message
shveicar



Joined: 18 Apr 2011
Posts: 277
Location: Россия Москва

Post (Separately) Posted: Sun Oct 09, 2011 19:10    Post subject: Reply with quote

Flasher wrote:
Ну, останутся куски при достижении минимума, и как предлагается их отсортировывать, в соотвествии с чем?
- когда останется всего один файл, то строки из него, могут быть добавлены без сортировки, их всегда можно отделить и впоследствии повторно пересортировать.
Quote:
Я тогда не понимаю смысл такого извращения
Смысл такого действия прост, существует на некоторых сайтах система защиты, которая не позволяет выкачивать контент, -если алгоритм закачки не соответствует определенной логике. Изменив последовательность ссылок,- возможно автоматизировать данный процесс. Спасибо. Надеюсь на понимание.
_________________
"Пока Чубайсы у руля науки: - Мы будем долго пачкать нано-брюки"
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Oct 09, 2011 19:38    Post subject: Reply with quote

shveicar wrote:
- когда останется всего один файл, то строки из него, могут быть добавлены без сортировки, их всегда можно отделить и впоследствии повторно пересортировать.
При чём тут один файл? Я пишу про разное число строк в выбранных файлах. Можно сопоставлять строки, когда их одинаковое число.
shveicar wrote:
существует на некоторых сайтах система защиты, которая не позволяет выкачивать контент...
Не понял, как это относится к оставшимся текстовым кускам? И не очень понял, зачем нужны эти файлы? Почему нельзя просто формировать списки нескачиваемых файлов на автомате?
Back to top
View user's profile Send private message
shveicar



Joined: 18 Apr 2011
Posts: 277
Location: Россия Москва

Post (Separately) Posted: Sun Oct 09, 2011 21:52    Post subject: Reply with quote

Flasher wrote:
Можно сопоставлять строки, когда их одинаковое число
Хорошо, пусть во всех объединяемых файлах- будет одинаковое число строк, если это упрощает задачу... (с помощью textpipe можно произвести предварительное выравнивание).
Quote:
Не понял, как это относится к оставшимся текстовым кускам? И не очень понял, зачем нужны эти файлы? Почему нельзя просто формировать списки нескачиваемых файлов на автомате?
В том то и дело что не все так просто, некоторые адреса отсеянyые после закачки offline explorerom (он их почемуто не берет, так как используется переадресация (типа &path=/) с проверкой через safebrowsing-cache.google.com объединяются с другими адресами (имитирующими загрузку html браузером) и после объединения передаются в scrapbook в firefoxe. Просто, в ручную перемешивать ссылки (особенно если их много) - одуреть можно. Да и для более сложных случаев при формировании списка для iMacros такой вариант очень - бы пригодился.
_________________
"Пока Чубайсы у руля науки: - Мы будем долго пачкать нано-брюки"
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Oct 09, 2011 22:18    Post subject: Reply with quote

Короче, мой мозг ничего не понимает...
Сделал для файлов с разным числом строк.
Code:
' Построчное склеивание текстовых файлов
' Параметры: <список файлов> <путь к файлу-получателю>
' Пример: %L "%TСписок_отсортированных_ссылок.txt"
'======================================================
With CreateObject("Scripting.FileSystemObject")
  Set TF = .OpenTextFile(WScript.Arguments(0), 1)
  On Error Resume Next
  For Each M in Split(TF.ReadAll, vbNewLine)
    A = Ubound(Split(.OpenTextFile(M).ReadAll, vbNewLine))
    If Max < A Then Max = A
  Next   
  TF.Close
  n = 0
  Set List = .OpenTextFile(WScript.Arguments(1), 8, True)
  Do While n <= Max
    Set TF = .OpenTextFile(WScript.Arguments(0), 1)
    Do While Not TF.AtEndOfStream
      F = TF.ReadLine
      If F > vbNullString Then
        If .FileExists(F) Then
          L = Split(.OpenTextFile(F).ReadAll, vbNewLine)
          If Trim(L(n)) <> "" Then List.WriteLine L(n)
        End If
      End If
    Loop
    TF.Close
    n = n + 1
  Loop
  List.Close
End With
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Sun Oct 09, 2011 22:29    Post subject: Reply with quote

Замечаньице:
не "отсортированных", а перетасованных
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Oct 09, 2011 22:31    Post subject: Reply with quote

Да это всего лишь пример названия файла. Хоть "дедяпетясъелмедведя.txt". Laughing
И, кстати, сортировать можно по разным критериям. Возьми те же колонки контентных плагинов.
Back to top
View user's profile Send private message
shveicar



Joined: 18 Apr 2011
Posts: 277
Location: Россия Москва

Post (Separately) Posted: Sun Oct 09, 2011 23:23    Post subject: Reply with quote

Большое Спасибо - Flasher
Как всегда выручаешь, жаль что сначала вроде-бы простое действие, показалось таким сложным... Ну, списываю на Моё "запутанное" объяснение... Smile Вобщем, то - что нужно, Респект!
P.s
Flasher wrote:
И, кстати, сортировать можно по разным критериям
это Вы об этой строчке? n = n + 1
_________________
"Пока Чубайсы у руля науки: - Мы будем долго пачкать нано-брюки"
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Oct 09, 2011 23:40    Post subject: Reply with quote

Пожалуйста. Smile
shveicar wrote:
жаль что сначала вроде-бы простое действие, показалось таким сложным...
Чтобы судить о простоте действия, надо бы самому соображать в скриптинге. Не так ли? Wink
shveicar wrote:
это Вы об этой строчке? n = n + 1
Это всего лишь счётчик. Я про название файла и способ сортировки, который может быть каким угодно. В данном случае: файл + номер строки.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group