如何在多个目录中的多个文件中替换名为 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
每个文件名上。