2015-04-01 42 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

相關問題