поскольку Debian основывал дистрибутивы:
/etc/rc.local
поставьте свое имя сценария там и не забывайте полный путь
find
управляйте файлами возвратов в порядке каталога. Порядок каталога не стабилен; в некоторых файловых системах, если Вы добавляете или удаляете файл, он может влиять на порядок других файлов в том же каталоге.
Я подвергаю сомнению Ваше утверждение, что вид не является опцией. Если Ваша обработка каждого файла не чрезвычайно быстра, создавание списка файлов довольно быстро. Сохраните его в файл так, чтобы это могло быть снова использовано, если задание прервано.
Необходимо будет знать, где Вы кончили так или иначе, и возобновитесь оттуда. Возобновление из уже сгенерированного списка файлов будет легче, чем возобновление некоторого сложного перечисления в середине.
Сохраните вывод находки в файл и имейте свое использование сценария тот файл к как список файлов для обработки. Поскольку сценарий завершает обработку файла, имейте его, пишут имя файла в другой файл. Если сценарий будет прерван, то это будет простой вопрос для исключения файлов, уже обработанных, например, с grep
, когда сценарий перезапущен. Пример:
touch files_already_processed
while IFS= read -r file
do
# skip file if already processed
grep -q -e "$file" files_already_processed && continue
# process the file
# processing code goes here
echo "$file" >> files_already_processed
done <files_to_process
file_to_process
был сгенерирован с seq 100000 и files_already_processed
так же, но с переменными размерами (как отмечено прежде). Я остановил код сразу после того, как файлы были пропущены (т.е. break
на строке 6).
– Pedro Lacerda
19.09.2012, 09:53
wc -l files_already_processed
.
– Kyle Jones
19.09.2012, 09:57