<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: подсчет входных файлов</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/8728.html</link>
    <description>Всем добрый день. Есть задание: Объединить содержимое входных текстовых файлов и записать результат в файл с именем &quot;nechet&quot;, если количество входных файлов не четное и наоборот, если количество файлов четное записать результат объединения в файл с именем &quot;chet&quot;. Я набрасала код, но выдает ошибку.&lt;br&gt;ls &amp;gt; f1&lt;br&gt;x=$(wc -l f1)&lt;br&gt;echo $x&lt;br&gt;if ($x&#037;2==1) &lt;br&gt;then&lt;br&gt;cat *.txt &amp;gt;chet&lt;br&gt;echo &quot;chet&quot;&lt;br&gt;else&lt;br&gt;cat *.txt &amp;gt;nechet&lt;br&gt;echo &quot;nechet&quot;&lt;br&gt;fi&lt;br&gt;</description>

<item>
    <title>подсчет входных файлов (medved_1408)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/8728.html#4</link>
    <pubDate>Thu, 13 May 2010 09:44:12 GMT</pubDate>
    <description>Всем большое спасибо за помощь. &lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>подсчет входных файлов (allez)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/8728.html#3</link>
    <pubDate>Thu, 13 May 2010 09:01:42 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;x=$(wc -l f1) &lt;br&gt;&amp;gt;echo $x &lt;br&gt;&amp;gt;if ($x&#037;2==1) &lt;br&gt;&amp;gt;then &lt;br&gt;&amp;gt;cat *.txt &amp;gt;chet&lt;br&gt;&amp;gt;echo &quot;chet&quot; &lt;br&gt;&amp;gt;else &lt;br&gt;&amp;gt;cat *.txt &amp;gt;nechet&lt;br&gt;&amp;gt;echo &quot;nechet&quot; &lt;br&gt;&amp;gt;fi &lt;br&gt;&lt;br&gt;Ну что же, разжевывать и в ротик класть не стану, но подсказку дам. :-)&lt;br&gt;&#091;code&#093;&lt;br&gt;$ ls *.txt&lt;br&gt;de-en.txt  file.txt  log.txt&lt;br&gt;&lt;br&gt;$ let x=$(ls *.txt &amp;#124; wc -l)&#037;2; echo &quot;x = $x&quot;; if &#091; &quot;$x&quot; = &quot;0&quot; &#093;; then echo &quot;Even&quot;; else echo &quot;Odd&quot;; fi&lt;br&gt;x = 1&lt;br&gt;Odd&lt;br&gt;&#091;/code&#093;&lt;br&gt;А теперь разбирайтесь в тех командах, которые я ввел в консоли - в них содержится почти полное &lt;br&gt;решение вашей задачки. Заодно попробуйте найти ошибку в своем скрипте. ;-)&lt;br&gt;&lt;br&gt;P. S. Эх, &#091;b&#093;phpcoder&#091;/b&#093; малость меня опередил и не умничая показал на ошибку пальцем. :-)&lt;br&gt;</description>
</item>

<item>
    <title>подсчет входных файлов (phpcoder)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/8728.html#2</link>
    <pubDate>Thu, 13 May 2010 08:55:35 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;x=$(wc -l f1) &lt;br&gt;&amp;gt;echo $x &lt;br&gt;&amp;gt;if ($x&#037;2==1) &lt;br&gt;&amp;gt;then &lt;br&gt;&amp;gt;cat *.txt &amp;gt;chet&lt;br&gt;&amp;gt;echo &quot;chet&quot; &lt;br&gt;&amp;gt;else &lt;br&gt;&amp;gt;cat *.txt &amp;gt;nechet&lt;br&gt;&amp;gt;echo &quot;nechet&quot; &lt;br&gt;&amp;gt;fi &lt;br&gt;&lt;br&gt;В вашем коде, похоже, есть ошибка: вы считаете все файлы, а добавляете содержимое только файлов, с расширением txt&lt;br&gt;&lt;br&gt;Предлагаю свой вариант:&lt;br&gt;&lt;br&gt;find . -type f -name &apos;*.txt&apos; &amp;#124;&lt;br&gt;(&lt;br&gt;rm -f &#123;result,chet,nechet&#125;&lt;br&gt;     CNT=0&lt;br&gt;     while read F; do&lt;br&gt;          CNT=$(expr $CNT + 1)&lt;br&gt;          cat &quot;$F&quot; &amp;gt;&amp;gt;result&lt;br&gt;     done&lt;br&gt;     if &#091; $(expr $CNT &#037; 2) -eq 0 &#093;; then&lt;br&gt;         mv -vf result chet&lt;br&gt;     else&lt;br&gt;         mv -vf result nechet&lt;br&gt;     fi&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>подсчет входных файлов (phpcoder)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/8728.html#1</link>
    <pubDate>Thu, 13 May 2010 08:45:53 GMT</pubDate>
    <description>&amp;gt;Я набрасала код, но выдает ошибку.&lt;br&gt;&lt;br&gt;Какую?&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt;ls &amp;gt; f1&lt;br&gt;&amp;gt;x=$(wc -l f1) &lt;br&gt;&amp;gt;echo $x &lt;br&gt;&amp;gt;if ($x&#037;2==1) &lt;br&gt;&lt;br&gt;Наверное, здесь? Попробуйте заменить на if &#091; &#096;expr $x &#037; 2&#096; -eq 1 &#093;&lt;br&gt;&lt;br&gt;&amp;gt;then &lt;br&gt;&amp;gt;cat *.txt &amp;gt;chet&lt;br&gt;&amp;gt;echo &quot;chet&quot; &lt;br&gt;&amp;gt;else &lt;br&gt;&amp;gt;cat *.txt &amp;gt;nechet&lt;br&gt;&amp;gt;echo &quot;nechet&quot; &lt;br&gt;&amp;gt;fi </description>
</item>

</channel>
</rss>
