2013-12-01 4 views
0

Я пытаюсь написать сценарий, который создает резервную копию файла, который задается как параметр, таким образом, чтобы к каждой копии файла был добавлен рабочий номер. Например, если имя исходного файла было aa.c, тогда первая резервная копия будет называться aa.1.c. В следующий раз, когда выполняется резервное копирование, копия должна быть вызвана aa.2.c, затем aa.3.c и так далее. Кроме того, сценарий должен автоматически найти копию с наибольшим номером и использовать ее для создания нового номера.tcsh Создание резервных файлов

Кто-нибудь знает, как я могу это сделать с помощью foreach?

+1

Показать (пример) вашего кода. – Mark

+0

, если ваши резервные файлы (и, возможно, их много) находятся в другом месте, а затем оригиналы, это приведет к чрезмерному поиску до того, как будет выполнена копия, почему бы не использовать метку времени, а не счетчики. таким образом, вы можете легко удалить файлы резервных копий слишком старыми, не заботясь о отдельной нумерации? make 'STAMP =" $ (date +% Y-% m-% d-% H-% M) 'и использовать как' tar cfz yourfile- $ STAMP.tar.gz' – peet

ответ

0

Кто-нибудь знает, как я могу это сделать с помощью foreach?

#!/usr/bin/env tcsh 
foreach file ($*:q) 
    @ numb=1 
    while (-e $file:r.$numb.$file:e) 
     @ numb++ 
    end 
    cp -p $file $file:r.$numb.$file:e 
end 
Смежные вопросы