繁体   English   中英

如何替换多个子文件夹中的文件

[英]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错误。

您可以使用

  1. cp -v看看它做了什么
  2. cp -u仅在源文件较新时才更新
  3. 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM