<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Исключить из копирования несколько директорий.]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=34842&amp;type=atom" />
	<updated>2014-05-13T11:17:46Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=34842</id>
		<entry>
			<title type="html"><![CDATA[Re: Исключить из копирования несколько директорий.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=408745#p408745" />
			<content type="html"><![CDATA[<p><strong>Rassol2</strong>, cp может копировать <strong>только то</strong>, что ты ей указал. Т.е. если тебе надо скопировать файлы 1.jpg, 2.jpg, 3.jpg, то тебе их надо ЯВНО указать все. А если ты запишшешь *.jpg, то за тебя это сделает bash. Потому в cp и нет ключа exclude. Не нужен он ей. Зачем что-то исключать, если можно не указывать?</p><p>Потому и приходится сначала искать, а потом копировать. И лучше это делать специальной утилитой, а не велосипедом самосборным.</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2014-05-13T11:17:46Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=408745#p408745</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Исключить из копирования несколько директорий.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=408713#p408713" />
			<content type="html"><![CDATA[<p><strong>drBatty</strong>, да нет мне нужно для копирования. <br />мне нужно по желанию человека залить стандартные файлы. Но среди них есть те что ненужно заливать, они заключены в определенных директориях. И нужно при банальном копировании пропустить их.</p>]]></content>
			<author>
				<name><![CDATA[Rassol2]]></name>
				<uri>https://linuxforum.ru/profile.php?id=15167</uri>
			</author>
			<updated>2014-05-13T08:31:06Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=408713#p408713</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Исключить из копирования несколько директорий.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=408685#p408685" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Rassol2 пишет:</cite><blockquote><p>Последнее время смотрю что rsync заменяет cp</p></blockquote></div><p>дык unix-way жеж: каждая утилита должна делать одну задачу, и делать хорошо.</p><p>cp хорошо копирует.</p><p>find хорошо ищет</p><p>тебе хочется синхронизации. Два варианта: либо слепить конвейер-велосипед find|cp, либо решать задачу специальным инструментом rsync. Разве не очевидно, какой способ лучше?</p><div class="quotebox"><cite>Rassol2 пишет:</cite><blockquote><p>Как то сложновато, уделил 2 часа на понимание плюнул, в силу своей слабохарактерности.</p></blockquote></div><p>find нужна для поиска по условию<br />Условие может быть любой сложности<br />Обычно условие связывается союзом «И»(«AND», в find «-a»)<br />Ты хочешь ИЛИ. И потому тебе нужно во первых прописать ИЛИ явно: «-o», и во вторых использовать скобки, т.к. ИЛИ это &quot;сложение&quot;, а оно младше &quot;умножения&quot; И. Да, вся команда внутри bash&#039;а работает, а bash скобки понимает по своему. Потому надо писать «\(» «\)».</p><p>Условие «-path &quot;шаблон&quot;» работает как «-name &quot;шаблон&quot;», но в отличие от последнего использует весь путь, а не только имя файла. Каталоги тоже учитываются.</p><p>ЗЫЖ конечно самодельный велосипед всё равно хуже танка.</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2014-05-13T06:04:26Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=408685#p408685</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Исключить из копирования несколько директорий.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=408662#p408662" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p><strong>Rassol2</strong>, <strong>Lupo Alberto</strong>, с какого перепуга у вас регулярные выражения в -path?!</p><p>Либо юзайте find ! -regex &quot;RE&quot;</p><p>Либо каждый каталог прописывайте отдельно.</p><p><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh">find ! \( -path &quot;./.dir1/*&quot; -o -path &quot;./.dir/*&quot; \) -print</div></p></blockquote></div><p>Как то сложновато, уделил 2 часа на понимание плюнул, в силу своей слабохарактерности.</p>]]></content>
			<author>
				<name><![CDATA[Rassol2]]></name>
				<uri>https://linuxforum.ru/profile.php?id=15167</uri>
			</author>
			<updated>2014-05-12T23:01:01Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=408662#p408662</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Исключить из копирования несколько директорий.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=408661#p408661" />
			<content type="html"><![CDATA[<p>пришел к решению использовать rsync <br />Моя строка <br /></p><div class="codebox"><pre><code>rsync -alv -x --exclude=TCA* /home/rassol2/test/1/ /home/rassol2/test/2/</code></pre></div><p>Решает все проблемы. <br />Последнее время смотрю что rsync заменяет cp <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /></p>]]></content>
			<author>
				<name><![CDATA[Rassol2]]></name>
				<uri>https://linuxforum.ru/profile.php?id=15167</uri>
			</author>
			<updated>2014-05-12T22:59:59Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=408661#p408661</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Исключить из копирования несколько директорий.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=408561#p408561" />
			<content type="html"><![CDATA[<p><strong>Rassol2</strong>, <strong>Lupo Alberto</strong>, с какого перепуга у вас регулярные выражения в -path?!</p><p>Либо юзайте find ! -regex &quot;RE&quot;</p><p>Либо каждый каталог прописывайте отдельно.</p><p><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh">find ! \( -path &quot;./.dir1/*&quot; -o -path &quot;./.dir/*&quot; \) -print</div></p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2014-05-12T10:19:18Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=408561#p408561</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Исключить из копирования несколько директорий.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=408556#p408556" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Rassol2 пишет:</cite><blockquote><p>Я пока что придумал связку find + cp но что то пока что не получается.</p><div class="codebox"><pre><code>find /home/rassol2/Документы/test/1/ -path \(rassol2\|TCA.Maps\|TCA.Mods\|TCA.Updates\) -exec cp {} /home/rassol2/Документы/test/2/ \;</code></pre></div></blockquote></div><p>Наверное, правильнее так:<br /></p><div class="codebox"><pre><code>find /home/rassol2/Документы/test/1/ -path \(rassol2\|TCA.Maps\|TCA.Mods\|TCA.Updates\) -exec cp -r -t /home/rassol2/Документы/test/2/ {} \;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Lupo Alberto]]></name>
				<uri>https://linuxforum.ru/profile.php?id=9018</uri>
			</author>
			<updated>2014-05-12T09:04:08Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=408556#p408556</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Исключить из копирования несколько директорий.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=408555#p408555" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Rassol2 пишет:</cite><blockquote><p>Подскажите как быть ?</p></blockquote></div><p>Я бы попробовал <em>rsync</em> с опцией <strong>--exclude</strong>.</p>]]></content>
			<author>
				<name><![CDATA[Lupo Alberto]]></name>
				<uri>https://linuxforum.ru/profile.php?id=9018</uri>
			</author>
			<updated>2014-05-12T09:01:16Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=408555#p408555</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Исключить из копирования несколько директорий.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=408554#p408554" />
			<content type="html"><![CDATA[<p>Здравствуйте.<br />Нужно написать строку что бы копировать все содержимое с директории и поддиректории. Кроме 3 директорий.<br />Я пока что придумал связку find + cp но что то пока что не получается. <br /></p><div class="codebox"><pre><code>find /home/rassol2/Документы/test/1/ -path \(rassol2\|TCA.Maps\|TCA.Mods\|TCA.Updates\) -exec cp {} /home/rassol2/Документы/test/2/ \;</code></pre></div><p>Подскажите как быть ?</p>]]></content>
			<author>
				<name><![CDATA[Rassol2]]></name>
				<uri>https://linuxforum.ru/profile.php?id=15167</uri>
			</author>
			<updated>2014-05-12T08:33:48Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=408554#p408554</id>
		</entry>
</feed>
