<?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=11918&amp;type=atom" />
	<updated>2014-05-15T12:41:50Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=11918</id>
		<entry>
			<title type="html"><![CDATA[Re: Рекурсивное перемещение файлов по маске с сохранением структуры]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=408985#p408985" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>drBatty пишет:</cite><blockquote><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">$ cp -v --parent **/*p.png target/</div></p></blockquote></div><p>Специально зарегился, чтобы спасибо сказать. <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /> <br />И спасибо за указание того, что shopt нужно использовать, сам бы не разобрался.<br /><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">shopt -s globstar</div></p>]]></content>
			<author>
				<name><![CDATA[iamkaant]]></name>
				<uri>https://linuxforum.ru/profile.php?id=34366</uri>
			</author>
			<updated>2014-05-15T12:41:50Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=408985#p408985</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Рекурсивное перемещение файлов по маске с сохранением структуры]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=197040#p197040" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>NordWest пишет:</cite><blockquote><p>А вот с перемещением как?</p></blockquote></div><p>а перемещение это довольно опасная операция. не советую её использовать...<br /></p><div class="quotebox"><cite>NordWest пишет:</cite><blockquote><p>Или есть какая-то хитрая штука у того же mv, которая скопирует структуру каталога?</p></blockquote></div><p>не знаю. это не нужно ИМХО.<br /></p><div class="quotebox"><cite>NordWest пишет:</cite><blockquote><p>Перемещение - это копирование + удаление скопированного файла.</p></blockquote></div><p>а вот и нет. точнее да, но только в том случае, если вы перемещаете в разных ФС. Если в одной и той-же, то mv эт<br />создание другого имени у файла + удаление старого имени. Можете проверить - в этом случае не нужно даже права чтения файла, достаточно права модификации каталога где источник + права добавления к каталогу-приёмнику.</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2011-07-22T15:08:05Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=197040#p197040</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Рекурсивное перемещение файлов по маске с сохранением структуры]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=196867#p196867" />
			<content type="html"><![CDATA[<p>rsync спасет мир, но не в этом случае <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /> </p><div class="quotebox"><cite>i2ks пишет:</cite><blockquote><p>Сижу читаю топик, фраза &quot;перемещение&quot; и здесь же</p></blockquote></div><p>Не вижу противоречия. Перемещение - это копирование + удаление скопированного файла.</p>]]></content>
			<author>
				<name><![CDATA[NordWest]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11448</uri>
			</author>
			<updated>2011-07-22T07:55:45Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=196867#p196867</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Рекурсивное перемещение файлов по маске с сохранением структуры]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=196859#p196859" />
			<content type="html"><![CDATA[<p>Сижу читаю топик, фраза &quot;перемещение&quot; и здесь же </p><div class="quotebox"><cite>NordWest пишет:</cite><blockquote><p>которая скопирует структуру каталога?</p></blockquote></div><p>может вас rsync спасет?&nbsp; oO</p>]]></content>
			<author>
				<name><![CDATA[i2ks]]></name>
				<uri>https://linuxforum.ru/profile.php?id=16</uri>
			</author>
			<updated>2011-07-22T07:20:06Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=196859#p196859</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Рекурсивное перемещение файлов по маске с сохранением структуры]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=196853#p196853" />
			<content type="html"><![CDATA[<p>Спасибо, вариантов с копированием действительно предостаточно. А вот с перемещением как? У mv нет ключа --parents. Его можно использовать для в накрученном скрипте, где и cp без --parents. Можно было бы копировать и потом удалять, но нет гарантий, что это будет один и тот же список файлов. Или есть какая-то хитрая штука у того же mv, которая скопирует структуру каталога?</p>]]></content>
			<author>
				<name><![CDATA[NordWest]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11448</uri>
			</author>
			<updated>2011-07-22T07:12:36Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=196853#p196853</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Рекурсивное перемещение файлов по маске с сохранением структуры]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=196837#p196837" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Fat-Zer пишет:</cite><blockquote><p>на случай если нужно ещё какое-то хитрое переименование... правда тогда лучше всё в аргументы find упихнуть...</p></blockquote></div><p>в этих случаях я использую что-то вроде<br />find УСЛОВИЕ -printf ФОРМАТ | sed ...</p><p>PS:<br />или</p><p>find ... &gt;file.list</p><p>sed -i &#039;&#039; file.list</p><p>while read NAME; do<br />действие<br />done &lt;file.list</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2011-07-22T06:40:44Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=196837#p196837</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Рекурсивное перемещение файлов по маске с сохранением структуры]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=196834#p196834" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>дык зачем тут вообще какие-то скрипты, если cp отлично справляется?</p></blockquote></div><p>на случай если нужно ещё какое-то хитрое переименование... правда тогда лучше всё в аргументы find упихнуть...</p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2011-07-22T06:34:43Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=196834#p196834</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Рекурсивное перемещение файлов по маске с сохранением структуры]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=196825#p196825" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Fat-Zer пишет:</cite><blockquote><p>скорость в разы медленнее будет...</p></blockquote></div><p>дык зачем тут вообще какие-то скрипты, если <strong>cp</strong> отлично справляется?</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2011-07-22T06:12:51Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=196825#p196825</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Рекурсивное перемещение файлов по маске с сохранением структуры]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=196822#p196822" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>Ну и конечно</p></blockquote></div><p>не знал про такое, спасибо...<br /></p><div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>ответ на вопрос &quot;зачем?&quot; будет ясен после того, как вы сравните скорость моего и своего варианта хотя-бы даже на сотне файлов и каталогов.</p></blockquote></div><p>согласен... скорость в разы медленнее будет...</p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2011-07-22T06:07:03Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=196822#p196822</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Рекурсивное перемещение файлов по маске с сохранением структуры]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=196815#p196815" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Fat-Zer пишет:</cite><blockquote><p>нуда... скобки забыл... fixed...<br />как без него?</p></blockquote></div><p>вообще-то путь выделяется без слеша. Так проще потом с ним работать.<br /><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">ksu@ksu:~$ NAME=&quot;/a/b/c/d/e/file&quot;<br />ksu@ksu:~$ echo &quot;${NAME%/*}&quot;<br />/a/b/c/d/e<br /></div><br />не написал раньше потому, что не знал, что вы хотите сделать (без скобок непонятно)<br />выделить имя файла можно так:<br /><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">ksu@ksu:~$ echo &quot;${NAME##*/}&quot;<br />file<br /></div><br />Ну и конечно<br /><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">ksu@ksu:~$ basename &quot;$NAME&quot;<br />file<br />ksu@ksu:~$ dirname &quot;$NAME&quot;<br />/a/b/c/d/e<br /></div></p><p>ЗЫЖ в первом варианте $TARGET_FILE_DIR не использовалась.</p><p>ЗЗЫЖ ответ на вопрос &quot;зачем?&quot; будет ясен после того, как вы сравните скорость моего и своего варианта хотя-бы даже на сотне файлов и каталогов.</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2011-07-22T05:56:34Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=196815#p196815</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Рекурсивное перемещение файлов по маске с сохранением структуры]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=196698#p196698" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>а зачем?</p></blockquote></div><p>не знаю... мне так нравится...<br /></p><div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>Кстати, sed тут во первых неправильно применяется, во вторых просто не нужна.</p></blockquote></div><p>нуда... скобки забыл... fixed...<br />как без него?<br /></p><div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>Как и вся та строчка.</p></blockquote></div><p>о_О</p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2011-07-21T13:52:21Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=196698#p196698</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Рекурсивное перемещение файлов по маске с сохранением структуры]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=196674#p196674" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Fat-Zer пишет:</cite><blockquote><p>а если что-то подобное соорудить:</p></blockquote></div><p>а зачем?</p><p>Кстати, sed тут во первых неправильно применяется, во вторых просто не нужна.<br />Как и вся та строчка.</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2011-07-21T13:09:22Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=196674#p196674</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Рекурсивное перемещение файлов по маске с сохранением структуры]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=196558#p196558" />
			<content type="html"><![CDATA[<p>а если что-то подобное соорудить:<br /><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">#!/bin/bash<br />find &lt;фильтр&gt; | while read FILE; do<br />&nbsp; &nbsp; TARGET_FILE_DIR=&quot;${TARGET_DIR}/$(echo ${FILE}| sed -e &#039;s!\(.*/\).*$!\1!&#039;)&quot;<br />&nbsp; &nbsp; mkdir -p $TARGET_FILE_DIR<br />&nbsp; &nbsp; cp FILE $TARGET_FILE_DIR<br />done<br /></div></p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2011-07-21T08:59:07Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=196558#p196558</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Рекурсивное перемещение файлов по маске с сохранением структуры]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=196548#p196548" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>NordWest пишет:</cite><blockquote><p>У меня &quot;globstar off&quot;.</p></blockquote></div><p>дык сделайте on.<br />hint: <strong>help shopt</strong><br /></p><div class="quotebox"><cite>NordWest пишет:</cite><blockquote><p>то это сработает:</p></blockquote></div><p>нет.<br />подкаталоги не пойдут.<br /></p><div class="quotebox"><cite>NordWest пишет:</cite><blockquote><p>cp -v --parent $1**/*.arj target/</p></blockquote></div><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">( cd &quot;$1&quot; &amp;&amp; cp -v --parent **/*.arj target/ )</div><br />не?<br />ВСЕ операции в Linux выполняются в рабочем каталоге. Управлять рабочим каталогом из какого-то левого - ИМХО маздайный бред. Кстати, в TC&amp;NC тоже есть текущий каталог.</p><p>PS: внутри скрипта скобки не нужны:<br /></p><div class="codebox"><pre><code>#!/bin/bash
shopt -s globstar
cd &quot;$1&quot;
cp -v --parent **/*.arj target/</code></pre></div>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2011-07-21T08:26:40Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=196548#p196548</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Рекурсивное перемещение файлов по маске с сохранением структуры]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=196533#p196533" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>hint:</p></blockquote></div><p>У меня &quot;globstar off&quot;. </p><p>Если перейти в папку, из которой нужно копировать, то это сработает:<br /><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">$ cp -v --parent **/*.arj target/</div></p><p>Если без перехода и с путем к исходной папке, так например:<br /><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">$ cp -v --parent $1**/*.arj target/</div><br />Будет снова &quot;/path2resdir/path2inidir/folder01/file1.arj&quot;<br />Конечно можно переходить -&gt; копировать -&gt; возвращаться.</p>]]></content>
			<author>
				<name><![CDATA[NordWest]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11448</uri>
			</author>
			<updated>2011-07-21T07:33:03Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=196533#p196533</id>
		</entry>
</feed>
