<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
					xmlns:atom="http://www.w3.org/2005/Atom"
				  >
<channel>
<atom:link rel="self"  type="application/rss+xml"  href="http://rulinux.net/rss_from_sect_4_subsect_1_thread_3090"  />
<title>rulinux.net - Форум - General - [автоматизация] Подстановка значений</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Форум - General - [автоматизация] Подстановка значений</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Re:test</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19578</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19578</guid>
<pubDate>Wed, 29 Jul 2009 10:50:24 +0400</pubDate>
<description><![CDATA[<p>После <strong>code</strong> пробел не нужен</p><p><a href="http://www.lor-ng.org/page.php?id=2">http://www.lor-ng.org/page.php?id=2</a></p>]]></description>
</item>
<item>
<title>Re:test</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19577</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19577</guid>
<pubDate>Wed, 29 Jul 2009 10:38:53 +0400</pubDate>
<description><![CDATA[<p>xenom@ubuntu-desktop:~/param/bin/Debug$ ./param й ц у к
offset_x = 111
offset_y  = 222
delta_x = 333
delta_y = 444
</p>]]></description>
</item>
<item>
<title>Re:test</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19576</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19576</guid>
<pubDate>Wed, 29 Jul 2009 10:34:40 +0400</pubDate>
<description><![CDATA[<p>Угу. Только ты забыл парсер ещё написать, вдруг криворукие пользователи начнут подсовывать буквы вместо цифр. В итоге получится не хилая такая программа.</p>]]></description>
</item>
<item>
<title>Re:test</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19575</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19575</guid>
<pubDate>Wed, 29 Jul 2009 10:32:55 +0400</pubDate>
<description><![CDATA[<p>не получилося, ну в принципе да и пофиг. но всетаки желательно, по подробнее описать все эти tex-овые заморочки, для нубов </p>]]></description>
</item>
<item>
<title>test</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19574</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19574</guid>
<pubDate>Wed, 29 Jul 2009 10:25:53 +0400</pubDate>
<description><![CDATA[<p><fieldset style="border: 1px dashed black; padding:0px;"><ol style="background-color:#3d3d3d;" start="1"><li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;#include &lt;iostream&gt;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;#include &lt;cstdlib&gt;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;using namespace std;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;int main(int argc, char *argv[])<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;{<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;    int offset_x = 111;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;    int offset_y = 222;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;    int delta_x = 333;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;    int delta_y = 444;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;    if (argc-1 == 4)<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;    {<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;        cout &lt;&lt; "offset_x = " &lt;&lt; offset_x + atoi(argv[1]) &lt;&lt; endl;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;        cout &lt;&lt; "offset_y  = " &lt;&lt; offset_y + atoi(argv[2]) &lt;&lt; endl;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;        cout &lt;&lt; "delta_x = " &lt;&lt; delta_x + atoi(argv[3]) &lt;&lt; endl;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;        cout &lt;&lt; "delta_y = " &lt;&lt; delta_y + atoi(argv[4]) &lt;&lt; endl;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;    }<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;    else<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;        cout &lt;&lt; "Error parameters" &lt;&lt; endl;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;    return 0;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;}<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;</ol></fieldset></p>]]></description>
</item>
<item>
<title>Re:[автоматизация] Подстановка значений</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19573</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19573</guid>
<pubDate>Wed, 29 Jul 2009 10:19:49 +0400</pubDate>
<description><![CDATA[<p><a href="http://www.lor-ng.org/page.php?id=2">http://www.lor-ng.org/page.php?id=2</a></p>]]></description>
</item>
<item>
<title>Re:[автоматизация] Подстановка значений</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19572</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19572</guid>
<pubDate>Wed, 29 Jul 2009 10:08:22 +0400</pubDate>
<description><![CDATA[<p>не осилил разметку.как?
</p>]]></description>
</item>
<item>
<title>Re:[автоматизация] Подстановка значений</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19571</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19571</guid>
<pubDate>Wed, 29 Jul 2009 10:03:49 +0400</pubDate>
<description><![CDATA[<p>#include &lt;iostream&gt;
#include &lt;cstdlib&gt;</p><p>using namespace std;</p><p>int main(int argc, char *argv[])
{
    int offset_x = 111;
    int offset_y = 222;
    int delta_x = 333;
    int delta_y = 444;</p><p>    if (argc-1 == 4)
    {
        cout &lt;&lt; "offset_x = " &lt;&lt; offset_x + atoi(argv[1]) &lt;&lt; endl;
        cout &lt;&lt; "offset_y  = " &lt;&lt; offset_y + atoi(argv[2]) &lt;&lt; endl;
        cout &lt;&lt; "delta_x = " &lt;&lt; delta_x + atoi(argv[3]) &lt;&lt; endl;
        cout &lt;&lt; "delta_y = " &lt;&lt; delta_y + atoi(argv[4]) &lt;&lt; endl;
    }
    else
        cout &lt;&lt; "Error parameters" &lt;&lt; endl;
    return 0;
}</p>]]></description>
</item>
<item>
<title>Re:[автоматизация] Подстановка значений</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19570</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19570</guid>
<pubDate>Tue, 28 Jul 2009 17:49:40 +0400</pubDate>
<description><![CDATA[<p><fieldset style="border: 1px dashed black; padding:0px;"><ol style="background-color:#3d3d3d;" start="1"><li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;Вообще, если немного подумать... я бы оформил это как исходник<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;какого-то языка, например, перла и потом делал бы eval и работал с<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;полученными данными. Например, так:<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;test.data:<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;@data = (<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp; [ 100 + $X, 20 - $Y, 100 + $dx, 20 - $dy ],<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp; [ 3453 + $X - 1, 493 + 2 * $Y, 230 - $dx, 20 ]<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;)<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;обработка:<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;#!/usr/bin/perl<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;$X = 0;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;$Y = 40;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;$dx = 9;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;$dy = 100;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;do &#039;test.data&#039;;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;# дальше работаем с массивом @data.<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;Из плюсов &#8212; в test.data для работы доступны все возможности перла.<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;Из плюс-минусов &#8212; появляется необходимость разметки, но с другой<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;стороны как в первоначальном примере интерпретировать запись <li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;100 +X*2<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;&#8212; как два числа или одно?<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;Из минусов &#8212; необходимо доверять пользователям, чтобы у них не<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;возникло мысли вставить system(&#039;rm -rf /&#039;) в test.data.<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;Если доверия к пользователем нет, то придётся много ухищряться<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;и тогда лучше подумать о другом способе представления данных.<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;</ol></fieldset></p>]]></description>
</item>
<item>
<title>Re:[автоматизация] Подстановка значений</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19569</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19569</guid>
<pubDate>Tue, 28 Jul 2009 17:33:25 +0400</pubDate>
<description><![CDATA[<p>Виноват, неправильно понял задание. Тогда лучше тот awk, что выше.</p>]]></description>
</item>
<item>
<title>Re:[автоматизация] Подстановка значений</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19568</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19568</guid>
<pubDate>Tue, 28 Jul 2009 17:30:34 +0400</pubDate>
<description><![CDATA[<p>Блин, кривоформатирование.</p><p>Попытка #2:</p><p><fieldset style="border: 1px dashed black; padding:0px;"><ol style="background-color:#3d3d3d;" start="1"><li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;&gt;cat test.data0 <li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;100+X 20-Y 100+dx 20-dy<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;3453+X-1 493+2*Y 230-dx 20<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;&gt;m4 -DX=0 -DY=40 -Ddx=9 -Ddy=100 test.data0 <li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;100+0 20-40 100+9 20-100<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;3453+0-1 493+2*40 230-9 20</ol></fieldset></p>]]></description>
</item>
<item>
<title>Re:[автоматизация] Подстановка значений</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19567</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19567</guid>
<pubDate>Tue, 28 Jul 2009 17:28:17 +0400</pubDate>
<description><![CDATA[<p>Не, не прокатывает:</p><p>code{
&gt;cat test.data0 
100+X 20-Y 100+dx 20-dy
3453+X-1 493+2*Y 230-dx 20
&gt;m4 -DX=0 -DY=40 -Ddx=9 -Ddy=100 test.data0 
100+0 20-40 100+9 20-100
3453+0-1 493+2*40 230-9 20}</p><p>Как m4 сказать, чтобы он ещё и арифметику простую делал?</p>]]></description>
</item>
<item>
<title>Re:[автоматизация] Подстановка значений</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19566</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19566</guid>
<pubDate>Tue, 28 Jul 2009 17:18:14 +0400</pubDate>
<description><![CDATA[<p style="font-style:italic">&gt; m4 -Doffset_x=42 -Doffset_y=15 -Ddelta_x=666 -Ddelta_y=-15 filename</p><p>Хмм.. То есть эта конструкция будет работать для моего шаблона? Просто не сталкивался с m4.</p>]]></description>
</item>
<item>
<title>Re:[автоматизация] Подстановка значений</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19565</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19565</guid>
<pubDate>Tue, 28 Jul 2009 16:33:00 +0400</pubDate>
<description><![CDATA[<p>m4 -Doffset_x=42 -Doffset_y=15 -Ddelta_x=666 -Ddelta_y=-15 filename</p>]]></description>
</item>
<item>
<title>Re:[автоматизация] Подстановка значений</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19564</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19564</guid>
<pubDate>Tue, 28 Jul 2009 13:52:54 +0400</pubDate>
<description><![CDATA[<p style="font-style:italic">&gt; cat &lt;файл с данными&gt; | awk &#039;{printf "%f	%f	%f
", $1+$delata_x, $2+$delata_y, $3+$delata_z}&#039;</p><p>Вот, похоже на то. Надо будет только awk завернуть в sh, чтобы все эти delta_x не в командной строке задавать.</p>]]></description>
</item>
<item>
<title>Re:[автоматизация] Подстановка значений</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19563</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19563</guid>
<pubDate>Tue, 28 Jul 2009 13:49:30 +0400</pubDate>
<description><![CDATA[<p style="font-style:italic">&gt; А что ты имел в виду, когда писал "sh"?</p><p>Обработать на sh, а не писать.</p><p style="font-style:italic">&gt По-моему вполне понятный шаблон.</p><p>Представь себе простого пользователя (да-да, того самого, который на компьютере владеет только методом "однопальцевого набора"), который будет это набирать или править. Что нагляднее </p><p style="font-style:italic">&gt echo "$((1000+${offset_x})) $((2000+${offset_y})) $((100+${delta_x})) $((100+${delta_y}))"</p><p>или</p><p style="font-style:italic">&gt 1000+X 2000+Y 100+dx 100+dy</p><p>??</p><p>Я хочу выполнить</p><p><fieldset style="border: 1px dashed black; padding:0px;"><ol style="background-color:#3d3d3d;" start="1"><li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;cat filename | обработчик_этого_шаблона &gt; data.txt</ol></fieldset></p><p>Причём, в зависимости от требуемого выходного формата, использовать разные обработчики.</p>]]></description>
</item>
<item>
<title>Re:[автоматизация] Подстановка значений</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19562</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19562</guid>
<pubDate>Tue, 28 Jul 2009 13:05:16 +0400</pubDate>
<description><![CDATA[<p>А в каком виде входной набор данных? Если в виде текстовиков типа</p><p><fieldset style="border: 1px dashed black; padding:0px;"><ol style="background-color:#3d3d3d;" start="1"><li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;1.0     2.0     3.0<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;2.0     4.0     6.0<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;...    <li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;}<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;то тут поможет awk (1p). Что-то вроде:<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;code{<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;cat &lt;файл с данными&gt; | awk &#039;{printf "%f	%f	%f
", $1+$delata_x, $2+$delata_y, $3+$delata_z}&#039;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;</ol></fieldset></p>]]></description>
</item>
<item>
<title>Re:[автоматизация] Подстановка значений</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19561</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19561</guid>
<pubDate>Tue, 28 Jul 2009 12:46:23 +0400</pubDate>
<description><![CDATA[<p style="font-style:italic">&gt; Это не шаблон, а sh-скрипт. </p><p>А что ты имел в виду, когда писал "sh"?</p><p style="font-style:italic">&gt Я хочу иметь _наглядный_ для любого читающего шаблон, который потом преобразовать в набор данных. </p><p>По-моему вполне понятный шаблон. Пробуй ещё вот это средство: ttp://www.google.com/search?q=template%20&lt;название_технологии_которой_владеют_твои_юзеры&gt;</p><p style="font-style:italic">&gt Да и потом, я запарюсь набирать такую конструкцию пару тысяч раз :)</p><p>Сохрани в виде файла?</p>]]></description>
</item>
<item>
<title>Re:[автоматизация] Подстановка значений</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19560</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19560</guid>
<pubDate>Tue, 28 Jul 2009 12:40:52 +0400</pubDate>
<description><![CDATA[<p style="font-style:italic">&gt; echo "$((1000+${offset_x})) $((2000+${offset_y})) $((100+${delta_x})) $((100+${delta_y}))"</p><p>Это не шаблон, а sh-скрипт. Я хочу иметь _наглядный_ для любого читающего шаблон, который потом преобразовать в набор данных. Да и потом, я запарюсь набирать такую конструкцию пару тысяч раз :)</p>]]></description>
</item>
<item>
<title>Re:[автоматизация] Подстановка значений</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19559</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19559</guid>
<pubDate>Tue, 28 Jul 2009 12:25:24 +0400</pubDate>
<description><![CDATA[<p>
<fieldset style="border: 1px dashed black; padding:0px;"><ol style="background-color:#3d3d3d;" start="1"><li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;offset_x=33<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;offset_y=888<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;delta_x=11<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;delta_y=9999999000000<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;echo "$((1000+${offset_x})) $((2000+${offset_y})) $((100+${delta_x})) $((100+${delta_y}))"<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;</ol></fieldset></p>]]></description>
</item>
<item>
<title>[автоматизация] Подстановка значений</title>
<link>https://rulinux.net/message.php?newsid=3090&amp;page=1#19558</link>
<guid>https://rulinux.net/message.php?newsid=3090&amp;page=1#19558</guid>
<pubDate>Tue, 28 Jul 2009 11:55:44 +0400</pubDate>
<description><![CDATA[<p>Есть у меня некоторый набор данных, в котором нужно менять некоторые из них в зависимости от внешних условий. Хочу написать шаблон вида</p><p><fieldset style="border: 1px dashed black; padding:0px;"><ol style="background-color:#3d3d3d;" start="1"><li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;1000+offset_x 2000+offset_y 100+delta_x 100+delta_y<li style="background-color:#000000; padding-left: 5px; color: gray">&nbsp;...</ol></fieldset></p><p>Но вот не знаю, какими средствами (sed, sh, что-то другое) потом такой шаблон обрабатывать, чтобы на выходе уже получились чистые данные. Не подскажите?</p>]]></description>
</item>
</channel>
</rss>