将1个文件复制到同一目录中的100个文件夹

时间:2018-04-05 11:23:45

标签: linux bash

我需要复制1个文件(index.php) /home/name/domains/domainname.com/public_html/folder1/index.php

将100个文件夹放入同一目录(所有文件夹放入此目录) /home/name/domains/domainname.com/public_html/folder2 /

在此示例中,目录folder2有100个文件夹

如何使用1命令shell执行此操作?

感谢您的帮助

3 个答案:

答案 0 :(得分:1)

尝试:

find /path/to/directory/* -type d  -exec cp /path/to/file.txt {} \;

示例:

find /home/name/domains/domainname.com/public_html/folder2/* -type d  -exec cp /home/name/domains/domainname.com/public_html/folder1/index.php {} \;

答案 1 :(得分:1)

使用xargs

ls -d */ | xargs cp <path to single file>

在你的情况下,

cd /home/name/domains/domainname.com/public_html/folder2/
ls -d */ | xargs cp /home/name/domains/domainname.com/public_html/folder1/index.php

答案 2 :(得分:1)

for f in heute/z/*/ ; do cp a.mp4 "$f"; done 

虽然你经常在命令中看到无用的尾部斜杠,但在for循环中,必须防止覆盖heute / z /中的简单文件,并将dirs作为params。

控制:

find heute/z/ -name a.mp4 
heute/z/c/a.mp4
heute/z/b/a.mp4

这也适用于符号链接,如果你碰巧对使用这种链接的建议印象深刻。