<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Кибер-Фанк v2.0 &#187; search</title>
	<atom:link href="http://www.shatlovsky.ru/category/search/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.shatlovsky.ru</link>
	<description>Information must be free</description>
	<lastBuildDate>Thu, 29 Apr 2010 16:23:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Unix: Поиск и замена во многих файлах одновременно</title>
		<link>http://www.shatlovsky.ru/2009/02/09/poisk-i-zamena-vo-mnogix-fajlax-odnovremenno/</link>
		<comments>http://www.shatlovsky.ru/2009/02/09/poisk-i-zamena-vo-mnogix-fajlax-odnovremenno/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 14:15:10 +0000</pubDate>
		<dc:creator>Alex Shatlovsky</dc:creator>
				<category><![CDATA[awk]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[replace]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.shatlovsky.ru/?p=75</guid>
		<description><![CDATA[Задача: найти все файлы содержащие OLDTEXT, и заменить OLDTEXT на NEWTEXT. Решение: grep -HR OLDTEXT ./ &#124; awk '{print $1}' &#124; sed 's/:.*$//' &#124; grep -v '~' &#124; sort &#124; uniq &#124; xargs vim -p В открывшемся окне vim командуем: :tabdo %s/OLDTEXT/NEWTEXT/g (заменить OLDTEXT на NEWTEXT во всех вкладках) :xa (записать изменения во всех вкладках) [...]]]></description>
			<content:encoded><![CDATA[<p>Задача: найти все файлы содержащие <em>OLDTEXT</em>, и заменить <em>OLDTEXT</em> на <em>NEWTEXT</em>.</p>
<p>Решение:</p>
<pre class="bash"><span style="color: #c20cb9; font-weight: bold;">grep</span> -HR OLDTEXT ./ | <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $1}'</span> | <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'s/:.*$//'</span> | <span style="color: #c20cb9; font-weight: bold;">grep</span> -v <span style="color: #ff0000;">'~'</span> | <span style="color: #c20cb9; font-weight: bold;">sort</span> | <span style="color: #c20cb9; font-weight: bold;">uniq</span> | <span style="color: #c20cb9; font-weight: bold;">xargs</span> vim -p</pre>
<p>В открывшемся окне <code>vim</code> командуем:</p>
<pre class="bash">:tabdo %s/OLDTEXT/NEWTEXT/g</pre>
<p> (заменить OLDTEXT на NEWTEXT во всех вкладках)</p>
<pre class="bash">:xa</pre>
<p> (записать изменения во всех вкладках)<br />
либо</p>
<pre class="bash">:qa!</pre>
<p> (отменить изменения во всех вкладках)</p>
<p>Ссылки по теме:</p>
<ol>
<li><a href="http://vimdoc.sourceforge.net/cgi-bin/vimfaq2html3.pl">VIM FAQ</a></li>
<li><a href="http://vim.wikia.com/wiki/Save_all_open_buffers_at_once">Save all open buffers at once</a></li>
<li><a href="http://linsovet.com/vim-sudo">Сохранение файла без прав на запись в vim используя sudo</a></li>
<li><a href="http://mailman.lug.org.uk/pipermail/scarborough/2004-December/001792.html">[SLUG] Vim. Search and replace in multiple files</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.shatlovsky.ru/2009/02/09/poisk-i-zamena-vo-mnogix-fajlax-odnovremenno/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
