如何将 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
答案 0 :(得分:2)
您尝试将 cp
的输出重定向到 $dir
,但我们应该将目标 $dir/read-me.jpg
指定为 cp
的第二个参数
for dir in `find . -type d` ; do cp read-me.jpg $dir/read-me.jpg ; done
答案 1 :(得分:2)
cp
和 >
不能混用。 cp
的语法是 cp source destination
,没有重定向。
尽可能使用 find -exec
对每个结果执行命令。它比循环输出更简单且不易出错。
find . -type d -exec cp read-me.jpg {} ';'
使用 -exec
时,{}
是找到的路径的占位符,';'
是表示 -exec
操作结束的必需语法(以防在 find
后面有额外的 -exec
选项)。