簡體   English   中英

如何在Solaris的另一個目錄中復制最近更新的多個文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM