如何将一个文件复制到多个子文件夹?

如何将一个文件复制到多个子文件夹?

这听起来像一个简单的问题,但如果是的话我就不会问了。我显然可以通过打开 nautilus 中的所有文件夹并单独粘贴每个文件夹来做到这一点,但计算机是机器人而不是我(我说的是 500 个文件)。

那么有没有办法通过 GUI 或命令行更有效地完成此操作?两者都一样好。

如果这能让你感觉更好,那么你将避免受到严厉的惩罚。

答案1

如果文件夹与文件位于同一文件夹中,则使用:

for dir in *; do [ -d "$dir" ] && cp YOURFILE.EXT "$dir" ; done

在其他场景中,如果文件位于不同的路径,请使用:

for i in folder1 folder2 folder3 folder4; do cp YOURFILE.EXT $i; done

如果您不知道放置文件的文件夹的具体名称,请尝试:

无需编写脚本。只需将这些命令放入终端并检查结果即可。

词汇表:

YOURFILE.EXT = The name of your file, may contain the full path.
folder1 folder[...] = the name of the folders where to drop the file,
-- folder names may contain the full path.

答案2

我可以制作 touch {jan,feb,mar}-{Rep.xls,graph.xls} 制作 feb-graph.xls jan-Rep.xls feb-Rep.xls mar-graph.xls jan-graph.xls mar-Rep.xls
但我无法打开它们。所以我想制作一个从 OO-Calc 保存的文件 1.ods,然后想将其 cp 类似于 touch {jan,feb,mar}-{Rep.xls,graph.xls} 使用 cp 1.ods {jan,feb,mar}{Rep.ods,graph.ods} 但那不起作用。cp:目标“margraph.ods”不是目录所以我也对此感兴趣

答案3

查找 . -type d | xargs -I{} cp ./myfile {}/

这就是我完成工作的方法。

这就是我想要解决的问题。我想在安装实际应用程序之前测试我所有的新虚拟主机。

密码
/var/www/
查找 .-type d
./site1
./site2
./site3
查找 . -type d | xargs -I{} cp ./php.info {}/
ls./*
./php.info

./站点1:
php 信息

./站点2:
php 信息

./site3:
php 信息

相关内容