<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; bash: скрипт который создаёт и удаляет файлы]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=37861&amp;type=atom" />
	<updated>2015-03-06T09:51:36Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=37861</id>
		<entry>
			<title type="html"><![CDATA[Re: bash: скрипт который создаёт и удаляет файлы]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=447964#p447964" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>man test</p></blockquote></div><div class="quotebox"><cite>Vascom пишет:</cite><blockquote><p>Проверка существования файла <a href="http://www.bash-scripting.ru/abs/chunks/ch07s02.html">http://www.bash-scripting.ru/abs/chunks/ch07s02.html</a><br />Самый первый параметр.</p></blockquote></div><p>ok. Спасибо. Буду знать <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /> Просто на тот момент набыдлокодил как умел&nbsp; <img src="https://linuxforum.ru/img/smilies/ah.gif" alt="ah" /><br />P.S. Про test знал, но до мана как-то не доходил. Прочту.</p>]]></content>
			<author>
				<name><![CDATA[AntiduPb]]></name>
				<uri>https://linuxforum.ru/profile.php?id=33159</uri>
			</author>
			<updated>2015-03-06T09:51:36Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=447964#p447964</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: bash: скрипт который создаёт и удаляет файлы]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=447959#p447959" />
			<content type="html"><![CDATA[<p>Проверка существования файла <a href="http://www.bash-scripting.ru/abs/chunks/ch07s02.html">http://www.bash-scripting.ru/abs/chunks/ch07s02.html</a><br />Самый первый параметр.</p>]]></content>
			<author>
				<name><![CDATA[Vascom]]></name>
				<uri>https://linuxforum.ru/profile.php?id=5339</uri>
			</author>
			<updated>2015-03-06T07:40:11Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=447959#p447959</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: bash: скрипт который создаёт и удаляет файлы]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=447958#p447958" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>AntiduPb пишет:</cite><blockquote><p> ls aaadir/$i &amp;&gt; /dev/null #Проверяем существование файла</p></blockquote></div><p><strong>man test</strong></p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2015-03-06T07:37:31Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=447958#p447958</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: bash: скрипт который создаёт и удаляет файлы]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=447947#p447947" />
			<content type="html"><![CDATA[<p>Работает. Большое спасибо.</p>]]></content>
			<author>
				<name><![CDATA[vitalikmondliak]]></name>
				<uri>https://linuxforum.ru/profile.php?id=37531</uri>
			</author>
			<updated>2015-03-05T20:48:02Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=447947#p447947</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: bash: скрипт который создаёт и удаляет файлы]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=447942#p447942" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>vitalikmondliak пишет:</cite><blockquote><p>Подскажите пожалуйста что делать.</p></blockquote></div><div class="codebox"><pre><code>#!/bin/bash

strfile=`cat file.conf`
strfile2=`ls -1 aaadir/`
for i in $strfile         
do
    ls aaadir/$i &amp;&gt; /dev/null                   #Проверяем существование файла
    if (( $? == 2 ))                                   #Если не существует
    then                                                  #то
    touch aaadir/$i                                  #создаем
    fi 
done
#
for i in $strfile2                                      #Поочередно присваиваем переменной i имена файлов в директории
do
    grep &quot;^$i$&quot; file.conf &amp;&gt; /dev/null      #Grep&#039;аем эти имена по файлу file.conf на точное совпадение
    if (( &quot;$?&quot; == 1 ))                                 #Если grep ничего не нашел он возвращает 1
    then                                                   #А если grep такого названия в file.conf не нашел
    rm aaadir/$i                                       #удаляем этот файл
    fi
done
exit 0</code></pre></div><p>Вот, если еще нужно.<br />P.S. Вроде работает. Только пути свои поставьте.</p>]]></content>
			<author>
				<name><![CDATA[AntiduPb]]></name>
				<uri>https://linuxforum.ru/profile.php?id=33159</uri>
			</author>
			<updated>2015-03-05T20:10:05Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=447942#p447942</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: bash: скрипт который создаёт и удаляет файлы]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=447905#p447905" />
			<content type="html"><![CDATA[<p>Не получается так. Оно мне выводит все значения f по несколько раз, а нужно только те, которых нет в файле file.conf.<br />Может флаги ставить...даже не знаю. Подскажите пожалуйста что делать.</p>]]></content>
			<author>
				<name><![CDATA[vitalikmondliak]]></name>
				<uri>https://linuxforum.ru/profile.php?id=37531</uri>
			</author>
			<updated>2015-03-05T13:38:27Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=447905#p447905</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: bash: скрипт который создаёт и удаляет файлы]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=447888#p447888" />
			<content type="html"><![CDATA[<p><strong>vitalikmondliak</strong>, ну типа того. Хотя нормальные люди для этого юзают rsync.</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2015-03-05T11:34:53Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=447888#p447888</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: bash: скрипт который создаёт и удаляет файлы]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=447850#p447850" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>for f in /home/files/*; do
while read i; do
    if [[ &quot;$f&quot; != &quot;$i&quot; ]];
    then
echo $f
fi
done &lt;file.conf
done</code></pre></div>]]></content>
			<author>
				<name><![CDATA[vitalikmondliak]]></name>
				<uri>https://linuxforum.ru/profile.php?id=37531</uri>
			</author>
			<updated>2015-03-05T08:40:00Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=447850#p447850</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: bash: скрипт который создаёт и удаляет файлы]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=447826#p447826" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>vitalikmondliak пишет:</cite><blockquote><p>for f in $(ls /home/files); do</p></blockquote></div><div class="codebox"><pre><code>for f in /home/files/*; do</code></pre></div><div class="quotebox"><cite>vitalikmondliak пишет:</cite><blockquote><p>for i in $(cat file.conf);</p></blockquote></div><div class="codebox"><pre><code>while read i; do
# …
done &lt;file.conf</code></pre></div><div class="quotebox"><cite>vitalikmondliak пишет:</cite><blockquote><p>if [ $f != $i ];</p></blockquote></div><div class="codebox"><pre><code>if [[ &quot;$f&quot; != &quot;$i&quot; ]]</code></pre></div>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2015-03-05T06:07:35Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=447826#p447826</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[bash: скрипт который создаёт и удаляет файлы]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=447770#p447770" />
			<content type="html"><![CDATA[<p>Всем привет! Помогите пожалуйста.&nbsp; <br />Итак, у нас есть файл, скажем, file.conf, в который мы записываем в один столбик слова, эти слова являются названиями файлов и могут быть произвольными. Что должен делать скрипт:<br />- При первом запуске создает директорию /home/files, содержащую пустые файлы с именами указанными в file.conf<br />- Потом мы добавляем или удаляем из file.conf одну или несколько строк и запускаем скрипт сново. При этом из /home/files должны удалится файлы, удаленные из file.conf. Или добавиться, если были добавлены записи в файл<br />Суть, значит, в следующем - внесли изменения в файл, запустили скрипт, увидели соответствующие изменения в директории.<br />Далее ставим скрипт в cron на выполнение каждых 5 минут.</p><p>Проблем с созданием файлом нет, а вот удаление есть проблемы.&nbsp; </p><div class="codebox"><pre><code>for i in $(cat file.conf); do
touch /home/files/$i
done</code></pre></div><p>Удаление пробую делать вот так, но знаю что это неправильно. Подскажите как сделать правильно...</p><div class="codebox"><pre><code>for f in $(ls /home/files); do
for i in $(cat file.conf);
do
    if [ $f != $i ];
    then
rm /home/files/$f
fi
done
done</code></pre></div>]]></content>
			<author>
				<name><![CDATA[vitalikmondliak]]></name>
				<uri>https://linuxforum.ru/profile.php?id=37531</uri>
			</author>
			<updated>2015-03-04T18:14:39Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=447770#p447770</id>
		</entry>
</feed>
