[英]Howto replace a file in several sub-folders
我有一系列包含一組文件的目錄。 有一個這個文件的新副本,我想用它替換所有實例。 如何使用find命令執行此操作?
最新文件位於/var/www/html
中,名為update_user.php
有125個目錄和其他幾個文件,包括update_user.php
的副本。 我想用update_user.php
中的update_user.php
替換它們,不包括它自己。
這應該做的工作:
find /path/to/old/files -type f -name update_user.php -exec cp /path/to/new/update_user.php {} \;
您應該檢查新文件是否不在/path/to/old
,如果是這樣,那么首先將其復制到外面並使用該副本但是......如果不這樣做也不會有害 - 一個cp
會失敗are the same file
錯誤。
您可以使用
cp -v
看看它做了什么 cp -u
僅在源文件較新時才更新 echo cp
執行干運行 我建議首先檢查是否所有的目的地。 文件與以下內容相同:
find /path/to/old/files -type f -name update_user.php -exec md5sum {} \;|awk '{print $1}'|sort|uniq
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.