<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; Замена слова на переменную.]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=29551</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=29551&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Замена слова на переменную.».]]></description>
		<lastBuildDate>Sat, 10 Aug 2013 14:56:28 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Замена слова на переменную.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=357732#p357732</link>
			<description><![CDATA[<p>Ясно, значит в моём случае действительно и &quot;g&quot; и &quot;.&quot; не нужны.</p><p>__ Добавил через пол часа: А ничего подобного, отсутствие этих символов приводит к непредсказуемым результатам.</p><p>Вроде всё работает, спасибо всем за помошь. Не знаю как тему закрыть.</p>]]></description>
			<author><![CDATA[null@example.com (vovanvster)]]></author>
			<pubDate>Sat, 10 Aug 2013 14:56:28 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=357732#p357732</guid>
		</item>
		<item>
			<title><![CDATA[Re: Замена слова на переменную.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=357728#p357728</link>
			<description><![CDATA[<div class="quotebox"><cite>vovanvster⇓ пишет:</cite><blockquote><p>А просто * без точки не достаточна ?</p></blockquote></div><div class="quotebox"><cite>Lupo Alberto⇓ пишет:</cite><blockquote><p>.* — <span style="color: red">один</span> символ или любое их количество;</p></blockquote></div><p>точнее, не менее одного символа должно быть. Только <strong>*</strong> включает и ноль символов.</p>]]></description>
			<author><![CDATA[null@example.com (Lupo Alberto)]]></author>
			<pubDate>Sat, 10 Aug 2013 14:50:18 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=357728#p357728</guid>
		</item>
		<item>
			<title><![CDATA[Re: Замена слова на переменную.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=357726#p357726</link>
			<description><![CDATA[<p>Точка нужна что бы работала звездочка )<br /><strong>g </strong>нужен если в строке меняется несколько слов заключенных в кавычки, иначе этот параметр не обязателен.</p><p>Скрипт что средствами bash можно использовать только если не существенен формат файла, так как команда <strong>read</strong> обрезает пробелы в начале и в конце строки.</p>]]></description>
			<author><![CDATA[null@example.com (ormorph)]]></author>
			<pubDate>Sat, 10 Aug 2013 14:47:01 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=357726#p357726</guid>
		</item>
		<item>
			<title><![CDATA[Re: Замена слова на переменную.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=357724#p357724</link>
			<description><![CDATA[<p>А просто * без точки не достаточна ?</p>]]></description>
			<author><![CDATA[null@example.com (vovanvster)]]></author>
			<pubDate>Sat, 10 Aug 2013 14:45:16 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=357724#p357724</guid>
		</item>
		<item>
			<title><![CDATA[Re: Замена слова на переменную.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=357723#p357723</link>
			<description><![CDATA[<div class="quotebox"><cite>vovanvster⇓ пишет:</cite><blockquote><p>надо ставить точку ?</p></blockquote></div><p><em>.*</em> — один символ или любое их количество;<br /></p><div class="quotebox"><cite>vovanvster⇓ пишет:</cite><blockquote><p> И зачем нужно &quot;g&quot; ? Я думал это означает &quot;глобально&quot;.</p></blockquote></div><p><em>g</em> — искать все совпадения в строке.</p>]]></description>
			<author><![CDATA[null@example.com (Lupo Alberto)]]></author>
			<pubDate>Sat, 10 Aug 2013 14:36:28 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=357723#p357723</guid>
		</item>
		<item>
			<title><![CDATA[Re: Замена слова на переменную.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=357721#p357721</link>
			<description><![CDATA[<p>Большое спасибо, средствами sed конечно красивее. Вы не могли бы объяснить почему в выражении<br /></p><div class="codebox"><pre><code>/\&quot;.*\&quot;/</code></pre></div><p> надо ставить точку ? И зачем нужно &quot;g&quot; ? Я думал это означает &quot;глобально&quot;.<br />То есть действие будет проводиться над всем файлом а не только над одной строкой.<br />Ещё раз большое спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (vovanvster)]]></author>
			<pubDate>Sat, 10 Aug 2013 14:30:24 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=357721#p357721</guid>
		</item>
		<item>
			<title><![CDATA[Re: Замена слова на переменную.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=357714#p357714</link>
			<description><![CDATA[<p>Если средствами <strong>sed</strong> то можно так:<br /></p><div class="codebox"><pre><code>sed -e &quot;3s/\&quot;.*\&quot;/\&quot;NEW_WORD\&quot;/g&quot; -i test.txt</code></pre></div><p>Если средствами <strong>bash</strong> то можно так:<br /></p><div class="codebox"><pre><code>#!/bin/bash

NEW=\&quot;NEW_WORD\&quot; #новое слово
NUM=3 #номер искомой строки
i=0 # индекс строки
#Функция поиска и замены слова
F_FILE(){
cat test2.txt|while read file 
do
i=$(($i+1))
if [ &quot;$i&quot; -eq &quot;$NUM&quot; ];  then
file=${file//\&quot;*\&quot;/$NEW} 
fi
cat &lt;&lt;&lt;$file  
done 
}

F_FILE &gt;test2.txt.dump
mv test2.txt.dump test2.txt</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (ormorph)]]></author>
			<pubDate>Sat, 10 Aug 2013 13:52:58 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=357714#p357714</guid>
		</item>
		<item>
			<title><![CDATA[Замена слова на переменную.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=357703#p357703</link>
			<description><![CDATA[<p>Здравствуйте.<br />Хочу написать скрипт для редактирования конфигурационного файла. Надо в строке под определённым номером заменить слово между кавычками &quot;&quot; на другое слово которое берётся из переменной вводимой пользователем.<br />Например:<br /></p><div class="codebox"><pre><code>frtkljhvlv
sykcghjkcgh &quot;petr@google.com&quot;
sdjgft &quot;pass&quot; dykihjk,
dfgjcvhkvjk</code></pre></div><p>Не могу сообразить команду sed которая будет это делать.<br />Кажется так должно выглядеть:<br /></p><div class="codebox"><pre><code>sed -e &quot;s номер_строки/то_что_между_кавычками/$variable/&quot; file</code></pre></div><p>И можно ли это исполнить только средствами bash ?<br />Конечно если будет проще.</p>]]></description>
			<author><![CDATA[null@example.com (vovanvster)]]></author>
			<pubDate>Sat, 10 Aug 2013 12:40:21 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=357703#p357703</guid>
		</item>
	</channel>
</rss>
