这听起来像一个简单的问题,但如果是的话我就不会问了。我显然可以通过打开 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 信息