<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Скрипт для совмещения строк</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10147.html</link>
    <description>Доброго времени.&lt;br&gt;Имею некое отношение к составлению различных заданий для учащихся. В познавательных для себя целях решил использовать баш как основу для автоматизации некоторых процессов. Вот в чем суть, если абстрагировано. Имеется некий файл А в котором содержатся имена. Имеется некий файл Б, в котором имеются фамилии. Задача в том, чтобы создать из этих двух файлов файл В, где каждая из строк файла А совмещалась с каждой строкой файла Б, т.е. в файле В каждое имя было совмещено с каждой фамилией. Например&lt;br&gt;&#091;code&#093;Файл А:&lt;br&gt;1&lt;br&gt;2&lt;br&gt;3&#091;/code&#093;&lt;br&gt;&#091;code&#093;Файл Б:&lt;br&gt;а&lt;br&gt;б&lt;br&gt;в&#091;/code&#093;&lt;br&gt;&#091;code&#093;Файл В (результат совмещения):&lt;br&gt;1а&lt;br&gt;1б&lt;br&gt;1в&lt;br&gt;2а&lt;br&gt;2б&lt;br&gt;2в&lt;br&gt;3а&lt;br&gt;3б&lt;br&gt;3в&#091;/code&#093;&lt;br&gt;Сейчас на таком застрял на этом:&lt;br&gt;&#091;code&#093;echo &amp;gt; C&lt;br&gt;STR1=&#096;wc -l a&#096;&lt;br&gt;NUM=0&lt;br&gt;S1=&#096;cat A&amp;#124;head -$NUM&#096;&lt;br&gt;S2=&#096;cat B&amp;#124;head -$NUM&#096;&lt;br&gt;until &#091; $NUM -lt $STR1 &#093;&lt;br&gt;do&lt;br&gt;let NUM=$NUM+1&lt;br&gt;echo &quot;$S1$S2&quot; &amp;gt;&amp;gt; C&lt;br&gt;done &lt;br&gt;&#091;/code&#093;&lt;br&gt;И тут моих знаний пока не хватает, чтобы понять, как вместо построчного совмещения, получить строки каждая+каждая. Может кто подсказать?&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>

<item>
    <title>Скрипт для совмещения строк (DeadLoco)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10147.html#7</link>
    <pubDate>Mon, 13 Feb 2017 12:44:21 GMT</pubDate>
    <description>&amp;gt; Возникает классический вопрос джентльмена на рыбалке :) &quot;НО КАК!? сэр ...Э :-))) &lt;br&gt;&amp;gt; Объясняй.&lt;br&gt;&lt;br&gt;join(1) имеет рестрикт по равенству первых полей, и не является декартовым произведением&lt;br&gt;</description>
</item>

<item>
    <title>Скрипт для совмещения строк (Andrey Mitrofanov)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10147.html#6</link>
    <pubDate>Sun, 12 Feb 2017 03:19:45 GMT</pubDate>
    <description>&amp;gt; Задача в том, чтобы создать из этих двух файлов файл В, &lt;br&gt;&amp;gt; где каждая из строк файла А совмещалась с каждой строкой файла &lt;br&gt;&amp;gt; Б, т.е. в файле В каждое имя было совмещено с каждой &lt;br&gt;&amp;gt; совмещения, получить строки каждая+каждая. Может кто подсказать?&lt;br&gt;&lt;br&gt;$ parallel echo &#123;1&#125;&#123;2&#125; :::: file-123 file-abc&lt;br&gt;&lt;br&gt;-- https://www.gnu.org/s/parallel/ Всего 300К на perl-е творят чудеса.&lt;br&gt;&lt;br&gt;$ parallel echo &#123;1&#125;&#123;2&#125; ::: &#123;1..3&#125; ::: &#123;a..c&#125;&lt;br&gt;$ parallel echo &#123;1&#125;&#123;2&#125; ::: 1 2 3 ::: a b c&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Скрипт для совмещения строк (Led)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10147.html#5</link>
    <pubDate>Sat, 11 Feb 2017 23:09:31 GMT</pubDate>
    <description>&amp;gt;&amp;gt; man join &lt;br&gt;&amp;gt; Led, а ты сам то ... :) &lt;br&gt;&amp;gt; Возникает классический вопрос джентльмена на рыбалке :) &quot;НО КАК!? сэр ...Э :-))) &lt;br&gt;&amp;gt; Объясняй.&lt;br&gt;&lt;br&gt;Да никак. Не вчитывался в условие:)&lt;br&gt;&lt;br&gt;В данном случае, пожалуй, while/do + sed будет достаточно.&lt;br&gt;</description>
</item>

<item>
    <title>Скрипт для совмещения строк (.)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10147.html#4</link>
    <pubDate>Sat, 11 Feb 2017 19:52:42 GMT</pubDate>
    <description>&amp;gt; man join &lt;br&gt;&lt;br&gt;Led, а ты сам то ... :)  &lt;br&gt;Возникает классический вопрос джентльмена на рыбалке :) &quot;НО КАК!? сэр ...Э :-)))&lt;br&gt;Объясняй.&lt;br&gt;</description>
</item>

<item>
    <title>Скрипт для совмещения строк (Led)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10147.html#3</link>
    <pubDate>Sat, 11 Feb 2017 14:55:08 GMT</pubDate>
    <description>man join&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Скрипт для совмещения строк (Square1)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10147.html#2</link>
    <pubDate>Sat, 11 Feb 2017 11:09:37 GMT</pubDate>
    <description>&#091;/code&#093; &lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; STR1=&#096;wc -l a&#096; &lt;br&gt;&amp;gt; NUM=0 &lt;br&gt;&amp;gt; S1=&#096;cat A&amp;#124;head -$NUM&#096; &lt;br&gt;&amp;gt; S2=&#096;cat B&amp;#124;head -$NUM&#096; &lt;br&gt;&amp;gt; until &#091; $NUM -lt $STR1 &#093; &lt;br&gt;&amp;gt; do &lt;br&gt;&amp;gt; let NUM=$NUM+1 &lt;br&gt;&amp;gt; echo &quot;$S1$S2&quot; &amp;gt;&amp;gt; C &lt;br&gt;&amp;gt; done &lt;br&gt;&amp;gt; &#091;/code&#093; &lt;br&gt;&lt;br&gt;Ваше решение..хм.. скажем так- не лишено остроумия и оригинальности... но выдает с потрохами что вы никогда прежде программированием ничего сложнее бэйсика начальных классов не занимались...&lt;br&gt;&lt;br&gt;если вам не нужна поточная обработка больших объемов данных (файлы не гигабайтные)&lt;br&gt;то можно считать второй файл построчно в массив, и выводить его в цикле, конкатенируя строки.&lt;br&gt;</description>
</item>

<item>
    <title>Скрипт для совмещения строк (михалыч)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10147.html#1</link>
    <pubDate>Sat, 11 Feb 2017 01:43:00 GMT</pubDate>
    <description>а вам точно на баше нужно?&lt;br&gt;&#091;code&#093;#!/bin/sh&lt;br&gt;&lt;br&gt;while read name; do&lt;br&gt;    while read surname; do&lt;br&gt;        echo $name$surname;&lt;br&gt;    done &amp;lt; surname&lt;br&gt;done &amp;lt; name&lt;br&gt;exit&#091;/code&#093;&lt;br&gt;а то использование всяких там wc cat head могут приравнять к читерству )))&lt;br&gt;</description>
</item>

</channel>
</rss>
