<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: bash - поиск нужного файла и получение пути к файлу</title>
    <link>https://opennet.ru/openforum/vsluhforumID1/85082.html</link>
    <description>Всем привет!&lt;br&gt;Буду благодарен если кто подскажет или поможет разобраться....&lt;br&gt;&lt;br&gt;Пишу скрипт на bash, который по замыслу должен искать в определенном файле определенную строку и если таковая строка есть в этом файле то - выводить путь к этому файлу, в переменную или на экран не важно.&lt;br&gt;&lt;br&gt;Вот кусок скрипта:&lt;br&gt;&lt;br&gt;VMNAME=&quot;$1&quot;&lt;br&gt;&lt;br&gt;&lt;br&gt;VMNAME=&#096;echo &quot;displayName = &#092;&quot;$&#123;VMNAME&#125;&#092;&quot;&quot;&#096;&lt;br&gt;echo $VMNAME&lt;br&gt;echo &quot;&quot;&lt;br&gt;VMNAME2=&#096;echo &quot;&apos;$&#123;VMNAME&#125;&apos;&quot;&#096;&lt;br&gt;echo $VMNAME2&lt;br&gt;#Пример того, что передается grep - &apos;displayName = &quot;xmachine&quot;&apos;&lt;br&gt;F=&#096;find /m* -name &apos;*.vmx&apos; -print0 &amp;#124; xargs --null grep -l &quot;$VMNAME2&quot;&#096;&lt;br&gt;echo &quot;&quot;&lt;br&gt;echo $F&lt;br&gt;&lt;br&gt;Когда запускаю скрипт - он выдает только значения переменных (поставленных для контроля) и grep видимо не понимает что от него хотят:&lt;br&gt;&lt;br&gt;# ./x xmachine &lt;br&gt;displayName = &quot;xmachine&quot;&lt;br&gt;&lt;br&gt;&apos;displayName = &quot;xmachine&quot;&apos;&lt;br&gt; &lt;br&gt;И все, больше ничего. &lt;br&gt;&lt;br&gt;&lt;br&gt;В ручную когда запускаю, все работает:&lt;br&gt;&lt;br&gt;#find /m* -name &apos;*.vmx&apos; -print0 &amp;#124; xargs --null grep -l -i &apos;displayName = &quot;xmachine&quot;&apos;&lt;br&gt;&lt;br&gt;/m/x-machine/SUSE Linux.vmx&lt;br&gt;&lt;br&gt;&lt;br&gt;В чем тут может </description>

<item>
    <title>bash - поиск нужного файла и получение пути к файлу (rfcr)</title>
    <link>https://opennet.ru/openforum/vsluhforumID1/85082.html#2</link>
    <pubDate>Wed, 29 Apr 2009 05:48:23 GMT</pubDate>
    <description>Спасибо! Получилось.&lt;br&gt;Пишу скрипт дальше и опять те же грабли...&lt;br&gt;&lt;br&gt;Делаю следующее:&lt;br&gt;F=&#096;find /m* -name &apos;*.vmx&apos; -print0 &amp;#124; xargs --null grep -l -i &quot;$VMNAME&quot;&#096;&lt;br&gt;&lt;br&gt;echo &quot;&quot;&lt;br&gt;F=&#096;echo &quot;&#092;&quot;$&#123;F&#125;&#092;&quot;&quot;&#096;&lt;br&gt;echo $F&lt;br&gt;vmware-cmd $F getstate&lt;br&gt;&lt;br&gt;Vmware-cmd ругается на присутствие пробелов и не отрабатывает как надо. И вроде заключил в кавычки и переменная нормально выводится:&lt;br&gt;&lt;br&gt;# ./x &quot;x - machine&quot; &lt;br&gt;displayName = &quot;x - machine&quot;&lt;br&gt;&lt;br&gt;&quot;/m/x-machine/SUSE Linux.vmx&quot;&lt;br&gt;/usr/bin/vmware-cmd: Could not connect to VM &quot;/m/x-machine/SUSE&lt;br&gt;  (VMControl error -14: Unexpected response from vmware-authd: Invalid pathname: &quot;/m/x-machine/SUSE)&lt;br&gt;&lt;br&gt;Что ж такое!&lt;br&gt;&lt;br&gt;Догадался сам :) Надо так:&lt;br&gt;&lt;br&gt;vmware-cmd &quot;$&#123;F&#125;&quot; getstate&lt;br&gt;&lt;br&gt;Тогда все работает как надо..&lt;br&gt;</description>
</item>

<item>
    <title>bash - поиск нужного файла и получение пути к файлу (Wolkodaw)</title>
    <link>https://opennet.ru/openforum/vsluhforumID1/85082.html#1</link>
    <pubDate>Tue, 28 Apr 2009 19:09:28 GMT</pubDate>
    <description>Надо так:&lt;br&gt;F=&#096;find /m* -name &apos;*.vmx&apos; -print0 &amp;#124; xargs --null grep -l -i &quot;$VMNAME&quot;&#096;&lt;br&gt;Иначе она будет искать именно строку с кавычками. А строки с кавычками в файле - нет.&lt;br&gt;&lt;br&gt;Так же, как и ты - ищёшь &lt;br&gt;find /m* -name &apos;*.vmx&apos; -print0 &amp;#124; xargs --null grep -l -i &apos;displayName = &quot;xmachine&quot;&apos;&lt;br&gt;&lt;br&gt;а не &lt;br&gt;find /m* -name &apos;*.vmx&apos; -print0 &amp;#124; xargs --null grep -l -i &quot;&apos;displayName = &#092;&quot;xmachine&#092;&quot;&apos;&quot;&lt;br&gt;</description>
</item>

</channel>
</rss>
