如何将文件复制到所有子目录?

How to copy a file to all subdirectories?

如何将 read-me.jpg 文件粘贴到所有子目录中?这是在所有子目录中创建新文件的命令。

for dir in `find . -type d` ; do echo "mywebsite.com" > $dir/downloadedfrom.txt ; done

但我想将 jpg 文件复制到所有子目录中。

目录列表:

2011
2012
2009
2019
2021
2000/2001/..../2010
...
...

已尝试使用此命令但没有输出

for dir in `find . -type d` ; cp read-me.jpg > $dir ; done

您试图将 cp 的输出重定向到 $dir,但我们应该将目标 $dir/read-me.jpg 指定为 cp

的第二个参数
for dir in `find . -type d` ; do cp read-me.jpg $dir/read-me.jpg ; done

cp> 不要混用。 cp 的语法是 cp source destination,没有重定向。

尽可能使用 find -exec 对每个结果执行命令。它比循环其输出更简单且更不容易出错。

find . -type d -exec cp read-me.jpg {} ';'

使用 -exec 时,{} 是找到的路径的占位符,';' 是表示 [=16= 结束的必需语法片段] 操作(如果 -exec 之后还有其他 find 选项)。