我需要复制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执行此操作?
感谢您的帮助
答案 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
这也适用于符号链接,如果你碰巧对使用这种链接的建议印象深刻。