Нужно следить за файлами в определенном каталоге и перемещать их в папку - PullRequest
0 голосов
/ 12 июня 2019

У меня есть дропзона, куда пользователи сбрасывают файл. После удаления файлов их необходимо переместить в каталог в зависимости от того, кто создал / удалил файлы. Основная проблема заключается в том, что скрипт должен ждать, пока пользователь не сбросит 2 файла разных форматов

Пример: file1.abc (Эти файлы могут быть в нескольких) file2.xyz. file2.xyz будет одним файлом. После того, как эти 2 файла будут добавлены в зону сброса, сценарий должен создать каталог на основе имени пользователя и переместить эти файлы в этот каталог.

Любая помощь будет принята с благодарностью.

Я пробовал фильтровать по владельцу, но не знал, как ждать, пока оба файла будут удалены.

Hi tripleee, i wrote the below script                                                     #! /bin/bash

own1=`find . -name "*.html" -printf "%u\n" | sort -u`
ownCount=`find . -name "*.html" -printf "%u\n" | sort -u | wc -l`
File1=`find . -name "*.py" -printf "%u\n" | sort -u`
File1Count=`find . -name "*.py" -printf "%u\n" | sort -u | wc -l`
fileCount=`$((ownCount + File1Count))`

if [ \( "$fileCount" -gte 2 -a "$own1" = "$File1" \ ]; then
        mkdir ./$own1
        for type in $own1
        do
                find . -type f -user $own1 -print 2>/dev/null -exec cp -n {} ./$own1 \;
        done

else
        sleep 10
fi                                                                

когда я запускаю указанную выше команду, выдается следующее сообщение об ошибке. не знаю почему ./a.sh: строка 6: 2 + 1: команда не найдена ./a.sh: строка 8: / 1: в доступе отказано ./a.sh: строка 9: [: отсутствует `] '

...