需要注意特定目录中的文件并将其移至文件夹

时间:2019-06-12 07:17:45

标签: bash unix sh

我有一个放置用户在其中放置文件的放置区。删除文件后,需要根据创建/删除文件的人将它们移动到目录中。主要问题是脚本必须等到用户删除2个不同格式的文件

示例:file1.abc(这些文件可以多个) file2.xyz。 file2.xyz将是一个文件。将这两个文件放入放置区后,脚本必须基于用户名创建目录,并将这些文件移至该目录。

任何帮助将不胜感激。

我尝试根据所有者进行过滤,但不确定如何等待直到两个文件都被删除。

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行:[:缺少`]'

0 个答案:

没有答案