Как массово отредактировать список.txt ?

Discussion in 'Болталка' started by Axeee, 21 Oct 2015.

  1. Axeee

    Axeee Elder - Старейшина

    Joined:
    26 Nov 2008
    Messages:
    286
    Likes Received:
    15
    Reputations:
    0
    есть список вида:
    http://www.сайт.ru/downloads/ohr2.doc
    http://www.сайт2.ru/down/ohr3.doc
    http://www.сайт3.ru/loads/ohr4.doc

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

    ohr2.doc
    ohr3.doc
    ohr4.doc

    Размер имен текстовых файлов и ссылок разный
     
    #1 Axeee, 21 Oct 2015
    Last edited: 21 Oct 2015
  2. Axeee

    Axeee Elder - Старейшина

    Joined:
    26 Nov 2008
    Messages:
    286
    Likes Received:
    15
    Reputations:
    0
    вот нашел на пхп что то, но не знаю как правильно воспользоваться по моему списку, ибо пхп только изучаю

    Code:
    $url="http://gygy.hu/vfe/evfev/index.html";
    $end=strrpos($url,"/");
    $rest = substr($url, 0, $end+1);  
     
  3. Axeee

    Axeee Elder - Старейшина

    Joined:
    26 Nov 2008
    Messages:
    286
    Likes Received:
    15
    Reputations:
    0
    или вот еще пример, только тоже не понял как соединить эту идею с моим списком ссылок

    Code:
    <?php
    echo "1) ".basename("/etc/sudoers.d", ".d").PHP_EOL;
    echo "2) ".basename("/etc/passwd").PHP_EOL;
    echo "3) ".basename("/etc/").PHP_EOL;
    echo "4) ".basename(".").PHP_EOL;
    echo "5) ".basename("/");?> 

    Code:
    Результат выполнения данного примера:
    
    1) sudoers
    2) passwd
    3) etc
    4) .
    5)
     
    #3 Axeee, 21 Oct 2015
    Last edited: 21 Oct 2015
  4. AdrianaM

    AdrianaM Member

    Joined:
    8 Jul 2015
    Messages:
    3
    Likes Received:
    33
    Reputations:
    0
    Если у тебя линукс, то grep у тебя уже есть, если окошечки, то найди виндовую версию.
    Code:
    grep -oP "[^/\n]+$" links.txt
    
    чтобы перенаправить вывод в файл, в винде нужно добавить ещё ">> myfile.txt"
     
  5. trolex

    trolex Well-Known Member

    Joined:
    6 Dec 2009
    Messages:
    592
    Likes Received:
    1,391
    Reputations:
    6
    вот на, в папку с скриптом ложи url.txt, результат result.txt там же

    Code:
    <?php
    $dir = dirname(__FILE__) . '/';
    $file1 = fopen ($dir."result.txt","w");
    $file_array =  file ($dir."url.txt");
    if(!$file_array){die("error in open");}
    $num_str =  count($file_array);
    for($i=0;$i<=$num_str;$i++)
    {
    $url=$file_array[$i];
    $begin=strrpos($url,"/");
    $rest = substr($url, $begin+1);  
    fwrite($file1,$rest);
    }
    fclose ($file1);
    ?>
     
    Axeee likes this.
  6. Axeee

    Axeee Elder - Старейшина

    Joined:
    26 Nov 2008
    Messages:
    286
    Likes Received:
    15
    Reputations:
    0
    Огромное спасибо, а еще такой вопрос, что нужно дописать, что бы не получалось вот таких имен:

    Code:
    znaniami_Kak.txt...
    thesis.txt?sequence=1
    kompromiss.txt?format=_with-big...
    Вообщем, что бы после .txt ничего больше небыло
     
  7. trolex

    trolex Well-Known Member

    Joined:
    6 Dec 2009
    Messages:
    592
    Likes Received:
    1,391
    Reputations:
    6
    Code:
    <?php
    $dir = dirname(__FILE__) . '/';
    $file1 = fopen ($dir."result.txt","w");
    $file_array =  file ($dir."url.txt");
    if(!$file_array){die("error in open2");}
    $num_str =  count($file_array);
    for($i=0;$i<=$num_str;$i++)
    {
    $url=$file_array[$i];
    $url = str_replace(array("\r\n", "\r", "\n"), '',$url);
    if(($begin=strrpos($url,"/"))!=0) $url = substr($url, $begin+1); 
    if(($end=strpos($url,"?"))!=0) $url = substr($url, 0, $end);  
    fwrite($file1,$url."\n");
    }
    fclose ($file1);
    ?>
    
     
    Axeee likes this.
  8. Axeee

    Axeee Elder - Старейшина

    Joined:
    26 Nov 2008
    Messages:
    286
    Likes Received:
    15
    Reputations:
    0
    супер, все ок, вот только все подряд идет, а не построчно :(
     
    #8 Axeee, 22 Oct 2015
    Last edited: 22 Oct 2015
  9. trolex

    trolex Well-Known Member

    Joined:
    6 Dec 2009
    Messages:
    592
    Likes Received:
    1,391
    Reputations:
    6
    у себя проверил, у меня построчно, ты второй скрипт полностью скопировал или заменил часть в первом? во втором вот эта строчка ещё новая
    fwrite($file1,$url."\n");
    можно ещё в этой строчке попробовать по заменять \n на \r\n или \r
     
    Axeee likes this.
  10. Axeee

    Axeee Elder - Старейшина

    Joined:
    26 Nov 2008
    Messages:
    286
    Likes Received:
    15
    Reputations:
    0
    все исправил, работает как нужно, огромное спасибо тебе!