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