如何将文件复制到所有子目录?
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
选项)。
如何将 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
选项)。