<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; Копирование файлов с условием]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=21636</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=21636&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Копирование файлов с условием».]]></description>
		<lastBuildDate>Sat, 14 Apr 2012 08:04:56 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Копирование файлов с условием]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=268231#p268231</link>
			<description><![CDATA[<p>Подправил скрипт.</p><div class="codebox"><pre><code>valet@valet-debian:~/Документы$ ./script 
valet@valet-debian:~/Документы$ ls D
x  x_1  x_2
valet@valet-debian:~/Документы$ cat D/x
a
valet@valet-debian:~/Документы$ cat D/x_1
b
valet@valet-debian:~/Документы$ cat D/x_2
c</code></pre></div><p>Работает как часы. Большое спасибо за помощь, никогда бы до такого не додумался.</p>]]></description>
			<author><![CDATA[null@example.com (valet)]]></author>
			<pubDate>Sat, 14 Apr 2012 08:04:56 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=268231#p268231</guid>
		</item>
		<item>
			<title><![CDATA[Re: Копирование файлов с условием]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=268230#p268230</link>
			<description><![CDATA[<p>моя ошибка...<br /></p><div class="quotebox"><cite>Fat-Zer пишет:</cite><blockquote><p>for I in A/* B/* C/*; do<br />&nbsp; TRGT=$(basename $I)<br />&nbsp; if [ -e &quot;D/$TRGT&quot; ]; <strong>then</strong><br />&nbsp; &nbsp; J=1<br />&nbsp; &nbsp; while [ -e &quot;D/${TRGT}_$J&quot; ]; do<br />&nbsp; &nbsp; &nbsp; J=$(( $J +1))<br />&nbsp; &nbsp; done<br />&nbsp; &nbsp; TRGT=&quot;${TRGT}_$J&quot;<br />&nbsp; fi<br />&nbsp; cp $I D/$TRGT;<br />done</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (Fat-Zer)]]></author>
			<pubDate>Sat, 14 Apr 2012 07:56:07 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=268230#p268230</guid>
		</item>
		<item>
			<title><![CDATA[Re: Копирование файлов с условием]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=268229#p268229</link>
			<description><![CDATA[<p>Кажется не работает.</p><div class="codebox"><pre><code>valet@valet-debian:~/Документы$ mkdir A
valet@valet-debian:~/Документы$ mkdir B
valet@valet-debian:~/Документы$ mkdir C
valet@valet-debian:~/Документы$ echo &quot;a&quot; &gt; A/x
valet@valet-debian:~/Документы$ echo &quot;b&quot; &gt; B/x
valet@valet-debian:~/Документы$ echo &quot;c&quot; &gt; C/x
valet@valet-debian:~/Документы$ mkdir D
valet@valet-debian:~/Документы$ vim script
записал в файл:
#!/bin/bash

for I in A/* B/* C/*; do
  TRGT=$(basename $I)
  if [ -e &quot;D/$TRGT&quot; ]; do
    J=1
    while [ -e &quot;D/${TRGT}_$J&quot; ]; do
      J=$(( $J +1))
    done
    TRGT=&quot;${TRGT}_$J&quot;
  fi
  cp $I D/$TRGT;
done

valet@valet-debian:~/Документы$ chmod +x script 
valet@valet-debian:~/Документы$ ./script 
./script: line 5: syntax error near unexpected token `do&#039;
./script: line 5: `  if [ -e &quot;D/$TRGT&quot; ]; do&#039;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (valet)]]></author>
			<pubDate>Sat, 14 Apr 2012 07:52:36 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=268229#p268229</guid>
		</item>
		<item>
			<title><![CDATA[Re: Копирование файлов с условием]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=268228#p268228</link>
			<description><![CDATA[<p>я бы что-нить такое сделал:<br /></p><div class="codebox"><pre><code>for I in A/* B/* C/*; do
  TRGT=$(basename $I)
  if [ -e &quot;D/$TRGT&quot; ]; do
    J=1
    while [ -e &quot;D/${TRGT}_$J&quot; ]; do
      J=$(( $J +1))
    done
    TRGT=&quot;${TRGT}_$J&quot;
  fi
  cp $I D/$TRGT;
done</code></pre></div><p>а можно просто к концу каждого файла приписать название директории...</p>]]></description>
			<author><![CDATA[null@example.com (Fat-Zer)]]></author>
			<pubDate>Sat, 14 Apr 2012 06:38:53 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=268228#p268228</guid>
		</item>
		<item>
			<title><![CDATA[Копирование файлов с условием]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=268226#p268226</link>
			<description><![CDATA[<p>В линуксе пока начинающий, возникла такая возникла задача: нужно скопировать все файлы из заданных нескольких каталогов (например A, B, C) в один другой каталог (D).<br />Не было бы никаких проблем, но имена файлов в каталогах A, B, C пересекаются, то есть например во всех трех каталогах могут быть разные файлы тем самым именем - например x, и все эти файлы мне нужно получить в каталоге назначения то есть в D.</p><p>Просто через cp сделать не получится, так как будет происходить замена файла.</p><p>Имена файлов меня вообще не интересуют, мне главное получить в каталоге D все файлы, которые находятся в А+B+C.</p><p>Помогите разобраться в элементарном вопросе - как это сделать?</p>]]></description>
			<author><![CDATA[null@example.com (valet)]]></author>
			<pubDate>Sat, 14 Apr 2012 06:26:00 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=268226#p268226</guid>
		</item>
	</channel>
</rss>
