/bin/bash вывод в файл из списка

Тема в разделе "Другие языки", создана пользователем StrikeOFF, 12 май 2012.

Модераторы: Цукер
  1. StrikeOFF

    StrikeOFF ♥kan inte lyfta utan lift♥

    Регистр.:
    20 мар 2010
    Сообщения:
    362
    Симпатии:
    200
    Есть список ссылок в файле нужно каждую ссылку вставить в файл2. когда закончатся ссылки - остановиться.
    подскажите как его дописать.
    Код:
    #!/bin/bash
     
    urllist="proxylist.txt"
    i="0"
    while [$i !=null]
    do
    urlname="awk '{ print $i }' $urllist" | echo "<source update_interval="10m" type="auto" list="source">
            <url>$urlname</url>
            <regexp addr_bracket="1" port_bracket="2"/([0-9a-z\-\.]{5,})\:(\d{2,5})\i</regexp>
            </source>" > importlist.txt
    $i+1
    done
     
  2. neodev

    neodev Создатель

    Регистр.:
    26 мар 2012
    Сообщения:
    24
    Симпатии:
    4
    может быть, :
     
  3. StrikeOFF

    StrikeOFF ♥kan inte lyfta utan lift♥

    Регистр.:
    20 мар 2010
    Сообщения:
    362
    Симпатии:
    200
    А проверка правильно делаеться? По-моему в моем варианте прибавление никогда не закончиться.
     
  4. neodev

    neodev Создатель

    Регистр.:
    26 мар 2012
    Сообщения:
    24
    Симпатии:
    4
    Код:
    #!/bin/bash
    cat proxylist.txt | awk '{print "<source update_interval=\"10m\" type=\"auto\" list=\"source\">\n\t<url>" $0 "</url>\n\t<regexp addr_bracket=\"1\" port_bracket=\"2\"/([0-9a-z\\-\\.]{5,})\\:(\\d{2,5})\\i</regexp>\n</source>\n"}' >> importlist.txt

    proxylist.txt
    Код:
    127.0.0.1:10020
    127.0.0.21:10010
    127.0.0.2:10120
    127.0.0.3:11020
    127.0.0.31:10101

    importlist.txt
    Код:
    <source update_interval="10m" type="auto" list="source">
        <url>127.0.0.1:10020</url>
        <regexp addr_bracket="1" port_bracket="2"/([0-9a-z\-\.]{5,})\:(\d{2,5})\i</regexp>
    </source>
    <source update_interval="10m" type="auto" list="source">
        <url>127.0.0.21:10010</url>
        <regexp addr_bracket="1" port_bracket="2"/([0-9a-z\-\.]{5,})\:(\d{2,5})\i</regexp>
    </source>
    <source update_interval="10m" type="auto" list="source">
        <url>127.0.0.2:10120</url>
        <regexp addr_bracket="1" port_bracket="2"/([0-9a-z\-\.]{5,})\:(\d{2,5})\i</regexp>
    </source>
    <source update_interval="10m" type="auto" list="source">
        <url>127.0.0.3:11020</url>
        <regexp addr_bracket="1" port_bracket="2"/([0-9a-z\-\.]{5,})\:(\d{2,5})\i</regexp>
    </source>
    <source update_interval="10m" type="auto" list="source">
        <url>127.0.0.31:10101</url>
        <regexp addr_bracket="1" port_bracket="2"/([0-9a-z\-\.]{5,})\:(\d{2,5})\i</regexp>
    </source>
     
    StrikeOFF нравится это.
  5. neodev

    neodev Создатель

    Регистр.:
    26 мар 2012
    Сообщения:
    24
    Симпатии:
    4
    также можно использовать:
    Код:
    #!/bin/bash
    echo "" > importlist.txt; # put null file =)
    cat proxylist.txt | sort | uniq | awk '{print "<source update_interval=\"10m\" type=\"auto\" list=\"source\">\n\t<url>" $0 "</url>\n\t<regexp addr_bracket=\"1\" port_bracket=\"2\"/([0-9a-z\\-\\.]{5,})\\:(\\d{2,5})\\i</regexp>\n</source>"}' >> importlist.txt;
    # read, sort, qniq, format put...