簡體   English   中英

Bash 腳本查找包含修改文件的目錄

[英]Bash script find directories with modified files in it

對於備份腳本中的使用,我正在尋找一種方法來查找自特定時間以來已被修改的所有文件夾。 我得到了這個:

find ./ -maxdepth 1 -mtime -1 -type d

不幸的是,這不會返回任何結果,因為目錄本身沒有被修改,只有一些目錄中的內容。 完整的腳本現在是:

repodir=/somepath
backupdir=/someotherpath

find . -mtime -1 -type d -maxdepth 1|while read repo; do
  svnadmin dump -q $repodir/$repo | bzip2 -9 > $backupdir/$repo-`date +%F`.dump.bz2
done

嘗試這個:

find . -mindepth 2 -type f -mtime -1 | sed 's,^\./,,;s,/.*$,,' | sort -u | \
while read repo; do
   svnadmin dump -q $repodir/$repo | bzip2 -9 > $backupdir/$repo-`date +%F`.dump.bz2
done

它在子目錄中搜索已更改的文件,然后從路徑中刪除除第一個目錄組件之外的所有文件,並使用sort -u刪除重復項。 請注意,它還會從結果中./初始./ ,但看起來您並不真正想要/需要該部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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