<HTML><BODY>с xargs я погорячился, сорри<br><br>вот такое выполнится для всех кусков, но не параллельно, к сожалению =(<br>ls -1 x* | xargs -I % perl <a href="http://script.pl" target="_blank" data-mce-href="http://script.pl">script.pl</a> %<br><br>хотя можно сделать ещё одну обёртку с "perl <a href="http://script.pl" target="_blank" data-mce-href="http://script.pl">script.pl</a> $1 &" для распараллеливания, но это уже будет перебор<br>т.ч. ваше решение наиболее простое (но не будет работать с пустым входным файлом)<br><br>Tue, 27 May 2014 20:00:41 +0400 от Харпалёв Иван <ivan.kharpalev@gmail.com>:<br>
<blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">
        <div id="">
        



    









        
        


        
        
        
        
        

        
        

        
        



<div class="js-helper js-readmsg-msg">
        <style type="text/css"></style>
        <div>
                <base target="_self" href="https://e.mail.ru/">
                
                        <div id="style_14012064790000000724_BODY"><div dir="ltr">Пока ограничился полумерой: распараллеливание обработки файла по  кускам.<div>Действительно очень просто сделалось на BASH:  <div><div><br></div><div>n=3 f=input; split -l $(wc -l $f | (read l d; echo $(($l/$n+1)) )) $f  #порезали на n кусков построчно</div>
</div><div>for f in x*; do</div><div>   perl <a href="http://script.pl" target="_blank">script.pl</a> $f&</div><div>done;</div><div>wait;  #надо запускать весь код в новом bash, чтобы wait не ждал какие-нибудь древние процессы.</div>
<div>cat o* > output</div><div><br></div><div><br></div><div>не нашёл в man xargs, как параллелить ((    --- что имели ввиду?</div><div><br></div><div>GNU parallel во истину похоже на решение, но увы нет  sudo, чтобы  поставить его в систему.</div>
<div><br></div><div>очень интересно прозвучало про "<span style="font-size:12.800000190734863px;font-family:arial,sans-serif">обернуть потоки в unix-сокеты" -- поясните чуток, плиз что имеется ввиду или ссылку какую.</span><br>
</div><div><span style="font-size:12.800000190734863px;font-family:arial,sans-serif"><br></span></div><div><span style="font-size:12.800000190734863px;font-family:arial,sans-serif">Спасибо!</span></div><div>
<br><br><div>26 мая 2014 г., 20:25 пользователь Antonio Nikishaev <span dir="ltr"><<a href="//e.mail.ru/compose/?mailto=mailto%3aa@lelf.me" target="_blank">a@lelf.me</a>></span> написал:<br><blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div>Харпалёв Иван <<a href="//e.mail.ru/compose/?mailto=mailto%3aivan.kharpalev@gmail.com" target="_blank">ivan.kharpalev@gmail.com</a>> writes:<br>
<br>
> Доброго времени суток, могучий MoscowPM!<br>
><br>
> Есть перловый скрипт, который работает в один поток, и на каждую<br>
> строку из STDIN выводит одну строку в STDOUT.<br>
><br>
> Есть ли какой софт, чтоб можно было написать<br>
<br>
</div>GNU parallel<br>
<div><br>
> cat data | perl <a href="http://paralleler.pl" target="_blank">paralleler.pl</a> -script=<a href="http://very_complex_script.pl" target="_blank">very_complex_script.pl</a> -n=8 | .<br>
> ..<br>
><br>
> Или посоветуйте, как его писать.<br>
> Как сделать неблокирующее чтение из воркеров в скрипте мастере?<br>
><br>
> Уважение<br>
> Иван Харпалёв<br>
</div><div><div>--<br>
Moscow.pm mailing list<br>
<a href="//e.mail.ru/compose/?mailto=mailto%3amoscow%2dpm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div></div></blockquote></div><br></div></div></div>

</div>
                        <div>-- <br>
Moscow.pm mailing list<br>
<a href="/compose?To=moscow%2dpm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<br>
</div>
                
                <base target="_self" href="https://e.mail.ru/">
        </div>

        
</div>


</div>
</blockquote>
<br></BODY></HTML>