用 1 个新文件替换多个文件

用 1 个新文件替换多个文件

如何在多个目录中的多个文件中替换名为 config.dat 的文件?

例子:

/var/www/site1/configs/config.dat
/var/www/site2/configs/config.dat
/var/www/site3/configs/config.dat

我想用新的 /home/john/config.dat 替换所有 config.data。

提前致谢。

答案1

打开终端并运行:

cd /var/www
sudo find . -type f  -name 'config.dat' -exec cp /home/john/config.dat {} \;

这里我假设该/var/www目录由 root 拥有,但是如果您是该目录的所有者/var/www,则不需要sudo在命令中使用该。

答案2

假设您要替换的文件的位置遵循模式/var/www/*/configs/config.dat,然后在终端中执行此操作:

for f in /var/www/*/configs/config.dat; do cp /home/john/config.dat "$f"; done

for 循环使用变量对扩展的目标文件名列表进行迭代f。 cp 语句将 的内容复制到/home/john/config.dat每个文件名上。

相关内容