Я искал по всему Интернету сценарий .sh, чтобы этого сделать, но я не нашел его.Создать .новый файл из списка файлов
В этот момент у меня есть сценарий, который создаст список файлов с помощью команды find. Этот список файлов используется с копией для тиражирования их в другой папке, и все работает хорошо.
Теперь я хочу создать файл сценария, который возьмет список файлов и выполнить следующий тест: - Если файл не существует по назначению, скопируйте его. - Если файл существует в пункте назначения и он совпадает с источником, не делайте никаких действий. - Если файл существует в месте назначения и он отличается от источника, скопировать его и изменить его расширение .new
Это скрипт, который будет создавать список файлов:
# File source to copy text files
find /home/repo/source -type f -name '*.txt' -o -name '*.cfg' -o -name '*.doc' -o -name '*.lst' -o -name '*.inf' -o -name '*.xml' > ../copy-from.txt
sed -i 's/ /\\ /g' ../copy-from.txt
# File destination to copy text files
find . -type f -name '*.txt' -o -name '*.cfg' -o -name '*.doc' -o -name '*.lst' -o -name '*.inf' -o -name '*.xml' > ../copy-to.txt
sed -i 's/ /\\ /g' ../copy-to.txt
sed -i 's/\(.\{2\}\)//' ../copy-to.txt
# Merge source and destination files and add cp command
paste ../copy-from.txt ../copy-to.txt > ../copy.sh
rm ../copy-from.txt ../copy-to.txt
sed -i 's/^/cp /' ../copy.sh
Надежда кто-то может укажите мне правильный путь или предоставите сценарий, который будет делать то, что я ищу.
С уважением
Это называется 'rsync' уверенно? –
Я посмотрел на rsync, и я не вижу, как rsync может создавать .new файлы, если они новее. – Webix
Важное примечание. Я хочу, чтобы сценарий создавал .new файлы, а не перезаписывал существующие. – Webix