<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Переменные в sed]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=29993&amp;type=atom" />
	<updated>2013-09-12T22:49:19Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=29993</id>
		<entry>
			<title type="html"><![CDATA[Re: Переменные в sed]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=362983#p362983" />
			<content type="html"><![CDATA[<p>Ну да, примерно понятно. Я в скриптах часто использую kdialog. Он многое упрощает. Для сервера конечно не годится. Ещё раз спасибо.<br />А не посоветуете почитать? Кроме часто используемого. Я для себя использую man bash.</p>]]></content>
			<author>
				<name><![CDATA[vovanvster]]></name>
				<uri>https://linuxforum.ru/profile.php?id=3626</uri>
			</author>
			<updated>2013-09-12T22:49:19Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=362983#p362983</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переменные в sed]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=362982#p362982" />
			<content type="html"><![CDATA[<p>Угу, спасибо. Разберусь наверное.</p>]]></content>
			<author>
				<name><![CDATA[vovanvster]]></name>
				<uri>https://linuxforum.ru/profile.php?id=3626</uri>
			</author>
			<updated>2013-09-12T22:25:34Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=362982#p362982</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переменные в sed]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=362981#p362981" />
			<content type="html"><![CDATA[<p>Ну, <a href="http://linuxforum.ru/viewtopic.php?pid=342932#p342932">вот</a> один из вариантов использования gpg в скриптах, правда, всего лишь для подписывания и проверки подписи пакетов. Думаю, не составит труда разобраться.</p>]]></content>
			<author>
				<name><![CDATA[yars]]></name>
				<uri>https://linuxforum.ru/profile.php?id=22799</uri>
			</author>
			<updated>2013-09-12T22:22:05Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=362981#p362981</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переменные в sed]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=362979#p362979" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>yars пишет:</cite><blockquote><p>Разве что я бы добавил еще шифрование хранимых в открытом виде паролей, например, при помощи gnupg.</p></blockquote></div><p>В моём случае не особо актуально, поскольку доступ к условному файлу со списком с логинами и паролями очень ограничен.<br />Они в очень домашней директории которая подключается с использованием ufed.<br />И это Gentoo Hardened.<br />Но мысль правильная. Однако gnupg использую только в командной строке. И ни разу в скриптах.<br />Как примерно это надо делать? У меня сложности с использованием скобок, кавычек, шаблонов и экранирующих символов.<br />Проще говоря с синтаксисом. Ну как всегда у начинающих. Посоветуйте почитать, пожалуйста что нибудь для побыстрее. Общее схватить и &gt; понеслась. Сколько не пробовал учиться на учебниках, не получается. Как-то ближе спарринг/кумите.<br />Есть цель значит есть мотивация, в процессе реализации или сделал или понял что не твоё.</p>]]></content>
			<author>
				<name><![CDATA[vovanvster]]></name>
				<uri>https://linuxforum.ru/profile.php?id=3626</uri>
			</author>
			<updated>2013-09-12T21:45:20Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=362979#p362979</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переменные в sed]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=362977#p362977" />
			<content type="html"><![CDATA[<p>Разве что я бы добавил еще шифрование хранимых в открытом виде паролей, например, при помощи gnupg.</p>]]></content>
			<author>
				<name><![CDATA[yars]]></name>
				<uri>https://linuxforum.ru/profile.php?id=22799</uri>
			</author>
			<updated>2013-09-12T21:08:36Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=362977#p362977</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переменные в sed]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=362941#p362941" />
			<content type="html"><![CDATA[<p>Все ещё не могу успокоиться. У меня на сегодняшний день вот так получилось:<br /></p><div class="codebox"><pre><code># Функция подстановки логина и пароля в файл &quot;.fetchmailrc&quot;
function fetch () {
# файл с почтами
snt_f=&quot;$HOME/file&quot;
# вставка почты в нужную строку
    a=$(sed -n &quot;$st p&quot; $snt_f | cut -f1 -d:)
    echo $a | sed -e &quot;2s/\&quot;.*\&quot;/\&quot;$a\&quot;/g&quot; -i $HOME/.fetchmailrc
# ставка пароля в нужную строку
    b=$(sed -n &quot;$st p&quot; $snt_f | cut -f2 -d:)
    echo $b | sed -e &quot;3s/\&quot;.*\&quot;/\&quot;$b\&quot;/g&quot; -i $HOME/.fetchmailrc
    fetchmail
}

for st in {1..22}; do fetch
done</code></pre></div><p>Вот так не очень глупо ?</p>]]></content>
			<author>
				<name><![CDATA[vovanvster]]></name>
				<uri>https://linuxforum.ru/profile.php?id=3626</uri>
			</author>
			<updated>2013-09-12T18:09:17Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=362941#p362941</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переменные в sed]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=362191#p362191" />
			<content type="html"><![CDATA[<p>Всё, сам разобрался. Единственное что мне было нужно:<br />&quot;Переписал решение много раз.&quot; Не актуально.</p>]]></content>
			<author>
				<name><![CDATA[vovanvster]]></name>
				<uri>https://linuxforum.ru/profile.php?id=3626</uri>
			</author>
			<updated>2013-09-06T14:28:48Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=362191#p362191</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переменные в sed]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=362099#p362099" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Vascom пишет:</cite><blockquote><p>Вместо<br />&#039;${var} p&#039;<br />используй двойные кавычки<br />&quot;$var p&quot;<br />Одинарные кавычки блокируют раскрытие переменных.<br />Прекращай тыкать пальцем в небо и прочитай книгу по bash и sed.</p></blockquote></div><p>Одинарные кавычки я использую для конкретного числа. Ты где там переменную увидел ?<br />Про скобки и кавычки знаю.<br /></p><div class="codebox"><pre><code>st=&quot;1&quot;
function emlac () {
for i in $( sed -n &quot;$st p&quot; file1 | cut -f1 -d: ); do
    echo $i | sed &lt;commands&gt; -i file2
done
}</code></pre></div><p>Наверное мне надо было с самого начала задать вопрос конкретней. <br />Что я должен написать в st=&quot;1&quot; вместо номера строки? $st должно принимать значения от одного до пятидесяти к примеру.<br />Или в идеале от одного до тех пор пока в файле file1 не кончатся строки.</p>]]></content>
			<author>
				<name><![CDATA[vovanvster]]></name>
				<uri>https://linuxforum.ru/profile.php?id=3626</uri>
			</author>
			<updated>2013-09-06T07:34:30Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=362099#p362099</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переменные в sed]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=362086#p362086" />
			<content type="html"><![CDATA[<p>Вместо<br />&#039;${var} p&#039;<br />используй двойные кавычки<br />&quot;$var p&quot;<br />Одинарные кавычки блокируют раскрытие переменных.<br />Прекращай тыкать пальцем в небо и прочитай книгу по bash и sed.</p>]]></content>
			<author>
				<name><![CDATA[Vascom]]></name>
				<uri>https://linuxforum.ru/profile.php?id=5339</uri>
			</author>
			<updated>2013-09-06T05:01:18Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=362086#p362086</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переменные в sed]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=362070#p362070" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>yars пишет:</cite><blockquote><div class="quotebox"><cite>vovanvster пишет:</cite><blockquote><p>Ты против &quot;cut&quot;? Или отрицание относится к месту действия ? Или ты можешь сказать по заданному вопросу что-нибудь умное но стесняешься ? Или просто настроение плохое и гавкнуть хочется ?<br />P.S. Выпей водки</p></blockquote></div><p>Но он там действительно не нужен. Это эквивалентно </p><div class="codebox"><pre><code>cut -f1 -d: file</code></pre></div><p> Разница только в том, что в первом случае <em>cut</em> работает с потоком (pipe), а во втором - с файлом напрямую. Ну да это к делу не относится и многим присутствующим известно.</p></blockquote></div><p>Как это не нужен ? Не надо выдёргивать кусок из строки ! cut в скрипте выполняет свою функцию а sed свою.<br />Что чему эквивалентно ? Какие pipe ? Мне надо чтоб работало а не рассуждения. Если можно сделать: </p><div class="codebox"><pre><code>sed -n &#039;1 p&#039; $snt_f | cut -f1 -d: </code></pre></div><p>без sed прекрасно но скажите как ?<br />Я сообщаю sed номер строки циферкой &#039;1 p&#039;. Пытался вместо неё писать переменную но не получилось.</p>]]></content>
			<author>
				<name><![CDATA[vovanvster]]></name>
				<uri>https://linuxforum.ru/profile.php?id=3626</uri>
			</author>
			<updated>2013-09-05T19:54:15Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=362070#p362070</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переменные в sed]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=362065#p362065" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Vascom пишет:</cite><blockquote><p>Для этого sed вообще не нужен. Незачем построчно перебирать, если cut весь файл сразу может обработать.<br />Просто сделай так:<br /></p><div class="codebox"><pre><code>cat $file | cut -f1 -d:</code></pre></div><p>А если просто на понимание, то прочитай это <a href="http://www.bash-scripting.ru/abs/chunks/index.html">http://www.bash-scripting.ru/abs/chunks/index.html</a><br />И делай цикл на bash.</p></blockquote></div><p>Для чего не нужен sed ? Вы меня совсем не поняли. Мне нужна определённая строка а не все вместе.<br />Скажите как заменить это: </p><div class="codebox"><pre><code>sed -n &#039;1 p&#039; file</code></pre></div>]]></content>
			<author>
				<name><![CDATA[vovanvster]]></name>
				<uri>https://linuxforum.ru/profile.php?id=3626</uri>
			</author>
			<updated>2013-09-05T19:42:11Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=362065#p362065</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переменные в sed]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=362063#p362063" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Vascom пишет:</cite><blockquote><div class="codebox"><pre><code>string_number=`wc -l $file | cut -d &#039; &#039; -f1`
for i in `seq 1 $string_number`
do
    sed -n &#039;$i p&#039; $file | cut -f2 -d:
done</code></pre></div></blockquote></div><p>Вопрос который я задал с самого начала так и остался всё остальное здесь написанное мне не нужно.<br />$string_number не могу правильно написать. sed выдаёт ошибку.<br />Команда в которую надо вставить переменную:<br /></p><div class="codebox"><pre><code>for i in $( sed -n &#039;1 p&#039; $file1 | cut -f1 -d: ); do
echo $i | &lt;commands&gt;</code></pre></div><p>sed считывает первую строку из файла и отправляет на обработку.<br />Первая строка обозначается &#039;1 p&#039;. Единица и есть переменная. Мне надо запустить цикл со значением от 1 до 50 к примеру.<br />А ещё лучше от единицы до числа строк в файле. Именно это я не могу сделать.</p>]]></content>
			<author>
				<name><![CDATA[vovanvster]]></name>
				<uri>https://linuxforum.ru/profile.php?id=3626</uri>
			</author>
			<updated>2013-09-05T19:37:25Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=362063#p362063</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переменные в sed]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=362061#p362061" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Vascom пишет:</cite><blockquote><p>string_number=`wc -l $file | cut -d &#039; &#039; -f1`<br />подсчитывает число строк в файле.<br />И используем это число для формирования цикла.</p></blockquote></div><p>Число строк я могу сам задать, чем это поможет ?</p>]]></content>
			<author>
				<name><![CDATA[vovanvster]]></name>
				<uri>https://linuxforum.ru/profile.php?id=3626</uri>
			</author>
			<updated>2013-09-05T19:23:32Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=362061#p362061</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переменные в sed]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=361247#p361247" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>for i in $( sed -n &#039;&lt;вот здесь надо переменную вставить&gt; p&#039; $file | cut -f1 -d: ); do
        &lt;всяка разные команды&gt;
done</code></pre></div><p>sed не хочет делать<br />Можно ли переменную правильно написать ?</p>]]></content>
			<author>
				<name><![CDATA[vovanvster]]></name>
				<uri>https://linuxforum.ru/profile.php?id=3626</uri>
			</author>
			<updated>2013-08-30T21:50:50Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=361247#p361247</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переменные в sed]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=361185#p361185" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>yars пишет:</cite><blockquote><p>Плюсик под аватаркой можно поставить <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /></p></blockquote></div><p>В самом деле, теперь увидел и отправил.</p>]]></content>
			<author>
				<name><![CDATA[vovanvster]]></name>
				<uri>https://linuxforum.ru/profile.php?id=3626</uri>
			</author>
			<updated>2013-08-30T15:10:26Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=361185#p361185</id>
		</entry>
</feed>
