2015-04-01 28 views
0

我是Unix脚本编程新手。对不起,如果这个问题听起来很愚蠢。
我有一个脚本,它将文件从Landingzone复制到Archive目录。

现在,我想编写一个脚本,用于检查test.txt文件(它就像触发器文件),只有在找到之后,才能将所有到达test.txt文件前的文件从Landingzone复制到存档。请让我知道如何做到这一点?

我提到这是脚本,因为除了复制之外,我还有更多的命令。监控触发文件并复制该目录中的所有文件

回答

0

这应该工作

ARCHIVE=...    # archive directory 
cd Landingzone 

if [ -f test.txt ]; then 
    find . -type f -maxdepth 1 ! -name test.txt ! -newer test.txt -exec cp {} $ARCHIVE ';' 
fi 

解释: 感谢,如果[-f ...]只有在test.txt存在的情况下才会执行所有操作。然后,我们调用找到

  • 搜索普通文件只( '-f')
  • 排除子目录(-maxdepth 1)
  • 排除test.txt的本身(!-name的test.txt)
  • 排除比test.txt的新文件(!-newer test.txt的)
  • 复制所有文件发现归档目录(-exec ...)
+0

谢谢。有效 :) – Drools123 2015-04-01 19:31:28

相关问题