<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Как решить? tar exclude-from file]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=22611&amp;type=atom" />
	<updated>2012-06-06T12:53:40Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=22611</id>
		<entry>
			<title type="html"><![CDATA[Re: Как решить? tar exclude-from file]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=280068#p280068" />
			<content type="html"><![CDATA[<p>Короче сделал следующим образом:<br />1. Сохраняем текущий путь<br />2. Переходим в нужный каталог (A,B,C...)<br />3. Формируем новый временный файл, в который заливаем exclude.txt, за исключением тех строк, которые не соответствуют текущему пути. И далее удаляем начало пути в этом временном файле.<br />4. Архивируем с указанием не архивировать файлы из временного файла<br />5. Удаляем временный файл<br />6. Переходим в начальный каталог</p><p>Вроде бы все работает отлично. Всем спасибо!</p>]]></content>
			<author>
				<name><![CDATA[jimmy]]></name>
				<uri>https://linuxforum.ru/profile.php?id=24065</uri>
			</author>
			<updated>2012-06-06T12:53:40Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=280068#p280068</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как решить? tar exclude-from file]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=279749#p279749" />
			<content type="html"><![CDATA[<p>Хорошая мысль. Спасибо, буду думать.</p>]]></content>
			<author>
				<name><![CDATA[jimmy]]></name>
				<uri>https://linuxforum.ru/profile.php?id=24065</uri>
			</author>
			<updated>2012-06-05T10:38:37Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=279749#p279749</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как решить? tar exclude-from file]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=279748#p279748" />
			<content type="html"><![CDATA[<p>Как вариант скармливать find&#039;у со своими условиями, получить список, и архивировать его.</p>]]></content>
			<author>
				<name><![CDATA[zenon]]></name>
				<uri>https://linuxforum.ru/profile.php?id=6867</uri>
			</author>
			<updated>2012-06-05T10:36:50Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=279748#p279748</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как решить? tar exclude-from file]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=279706#p279706" />
			<content type="html"><![CDATA[<p>А если забыть про TAR.<br />Можно сделать что-то подобное с другим архиватором?<br />Чтобы &quot;эксклюдил&quot; по полному пути, а архивировал только объект.</p>]]></content>
			<author>
				<name><![CDATA[jimmy]]></name>
				<uri>https://linuxforum.ru/profile.php?id=24065</uri>
			</author>
			<updated>2012-06-05T08:17:25Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=279706#p279706</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как решить? tar exclude-from file]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=279705#p279705" />
			<content type="html"><![CDATA[<p>Fat-Zer, спасибо!</p><p>Я правда думал найдется более простой вариант с помощью ключа какого-нибудь.<br />Хотя ман перечитал вдоль и поперек, но его не нашел.</p>]]></content>
			<author>
				<name><![CDATA[jimmy]]></name>
				<uri>https://linuxforum.ru/profile.php?id=24065</uri>
			</author>
			<updated>2012-06-05T08:10:58Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=279705#p279705</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как решить? tar exclude-from file]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=279580#p279580" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>jimmy пишет:</cite><blockquote><p>И файл exclude.txt большой, там нет возможности что-то править</p></blockquote></div><p>тогда придётся формировать временные файлы. что-то вроде:<br /></p><div class="codebox"><pre><code>TEMP_EXCLUDE=$(mktemp)
sed -n &#039;/^\/A\//{s///;p}&#039; exclude.txt &gt;${TEMP_EXCLUDE};
for i in $(ls /A); do
  tar --exclude-from ${TEMP_EXCLUDE} -cvzf $i.tar.gz $i
done
rm ${TEMP_EXCLUDE}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2012-06-04T14:50:36Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=279580#p279580</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как решить? tar exclude-from file]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=279571#p279571" />
			<content type="html"><![CDATA[<p>К сожалению не могу, т.к. есть B, C, D...<br />это маленький кусочек только представлен<br />И файл exclude.txt большой, там нет возможности что-то править</p>]]></content>
			<author>
				<name><![CDATA[jimmy]]></name>
				<uri>https://linuxforum.ru/profile.php?id=24065</uri>
			</author>
			<updated>2012-06-04T14:37:12Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=279571#p279571</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как решить? tar exclude-from file]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=279566#p279566" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>jimmy пишет:</cite><blockquote><p>Как быть?</p></blockquote></div><p>убрать из exclude.txt все &quot;/A/&quot;</p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2012-06-04T14:26:20Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=279566#p279566</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как решить? tar exclude-from file]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=279565#p279565" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>--exclude={&quot;/path/to/exclude0.txt&quot;,&quot;/path/to/exclude1.txt&quot;}</code></pre></div><p>Не?</p>]]></content>
			<author>
				<name><![CDATA[zenon]]></name>
				<uri>https://linuxforum.ru/profile.php?id=6867</uri>
			</author>
			<updated>2012-06-04T14:24:43Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=279565#p279565</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Как решить? tar exclude-from file]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=279557#p279557" />
			<content type="html"><![CDATA[<p>Есть некий каталог &quot;/A&quot;, содержащий:<br /></p><div class="codebox"><pre><code>1/a.txt
1/b.txt.gz
1/c.txt
2/a.txt
2/b.txt.gz
2/c.txt</code></pre></div><p>Есть некий файл exclude.txt, содержащий:<br /></p><div class="codebox"><pre><code>/A/1/b.txt.gz</code></pre></div><p>Необходимо создать архивы 1.tar.gz, 2.tar.gz<br />Но при этом, чтобы файлы из exclude.txt не архивировались, а просто пропускались</p><p>Т.е. на выходе должно быть два архива:<br />1.tar.gz, содержащий:</p><div class="codebox"><pre><code>a.txt
c.txt</code></pre></div><p>2.tar.gz, содержащий:<br /></p><div class="codebox"><pre><code>a.txt
b.txt.gz
c.txt</code></pre></div><br /><br /><p>Запускаем команду:<br /></p><div class="codebox"><pre><code>for i in $(ls /A); do
tar --exclude-from exclude.txt -cvzf $i.tar.gz $i
done</code></pre></div><p>На выходе получается, что файл из exclude.txt архивируется, как и все остальные.</p><p>Можно конечно сделать так:<br /></p><div class="codebox"><pre><code>for i in $(ls /A); do
tar --exclude-from exclude.txt -cvzf $i.tar.gz /A/$i
done</code></pre></div><p>Но при этом в архиве будет родительский каталог &quot;A&quot;, а мне это не нужно.</p><p>Как быть?</p>]]></content>
			<author>
				<name><![CDATA[jimmy]]></name>
				<uri>https://linuxforum.ru/profile.php?id=24065</uri>
			</author>
			<updated>2012-06-04T13:45:58Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=279557#p279557</id>
		</entry>
</feed>
