[英]How to copy the recent updated multiple files in another directory in Solaris
我想將最近更新的多個文件復制到另一個目錄。
我最近在這個目錄中有1.xml,2.xml,3.xml ....有人更新了文件或將新文件添加到該目錄中,因此我想將這些文件復制到目標目錄中。 2個目錄。
為此,我嘗試以下表彰
find home/deployment/server/services/ -type f -mtime 1 | xargs cp /home/application/
還有一個
find home/deployment/server/services/ -type f -mtime 1 -exec cp /home/application/
更新1.xml文件后,我沒有將任何文件導入目標,因此即使在目標目錄中也未更新,我也添加了新文件4.xml。
如何處理最近更新或新添加的多個文件。
提前致謝。
簡短答案: 使用xargs將“查找”目錄轉換為另一個目錄
長答案:我記得(未經測試) exec語法是
find . -type f --mtime 1 -exec cp {} /destination/path/ +
“ {}”是來自命令“ find”的參數
對於xargs
find . -type f --mtime 1 | xargs -0 -I {} cp {} /destination/path/
我經常這樣做,但使用\\; 而不是+,通常是-cnewer而不是-mtime。
\\; 對文件單獨而不是成組執行cp命令。 +與xterm將采用的路徑一樣,作為一個組執行。 如果有很多文件,它可能會多次執行此操作。
\\前面的\\; 選項是必需的,否則bash會認為這是命令的結尾。
find ./ -mtime -1 -exec cp {} /path/ \; -print
最后使用-print獲取已復制文件的列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.