Я запускаю shellscripting, и у меня возникают проблемы со сценарием. Итак, у меня есть два файла (неважно, какие файлы у меня есть), и мне нужно проверить, существуют ли файлы в папке1 в папке 2. Если да, проверьте, является ли его измененная дата более поздней.Проверьте, существует ли конкретный файл в папке в другом - Shellscript
Это то, что я есть:
#!/bin/sh
for i in `find $1 -type f`
do
for j in `find $2 -type f`
do
if [ -e $2/$i ]
then
if [ $i -ot $j ]
then
echo File "`basename $i`" its newer and it will be copied
else
echo File is updated
fi
else
echo "`basename $i`" will be copied because it doesn't exist
fi
done
done
$ 1 и $ 2 аргументы папки
Заранее спасибо
EDIT: С 3 файлов в folder1 и один из них (file2) в папке 2 я получаю этот вывод.
я имел 3 файлов в folder1 и один из них был также в folder2 и я получил (file2 был в обеих папках):
file1 will be copied because it doesn't exist
file2 will be copied because it doesn't exist
file2 will be copied because it doesn't exist
file1 will be copied because it doesn't exist
file3 will be copied because it doesn't exist
file3 will be copied because it doesn't exist
Почему это не работает? Какой результат? – grimsock
У меня было 3 файла в папке1, и один из них также был в папке2, и я получил (файл2 был в обеих папках): 'file1 будет скопирован, потому что он не существует file2 будет скопирован, потому что его не существует file2 будет скопирован, потому что он не существует file1 будет скопирован, потому что он не существует file3 будет скопирован, потому что его не существует file3 будет скопирован, потому что его не существует' –
Пожалуйста, обновите сообщение и вставить вывод скрипта. – grimsock