我想将文件复制到文件夹中的所有子文件夹中。如何使用命令行执行此操作?
答案1
如何将文件放在当前工作目录的所有子文件夹中(也可能是它们的子文件夹,取决于您要做什么)
这会将文件放入所有子文件夹中,但不放入它们的子文件夹中:
for d in */; do cp water.txt "$d"; done
这会将文件water.txt
(将 water.txt 的所有实例更改为要复制的文件名)放入所有子文件夹及其子文件夹中
for i in ./* # iterate over all files in current dir
do
if [ -d "$i" ] # if it's a directory
then
cp water.txt "$i" # copy water.txt into it
fi
done
答案2
您可以使用该单行代码:
find <target-dir> -type d -exec cp <the file> {} \;
限制深度为 1 -> 仅限直接目录
find <target-dir> -type d -maxdepth 1 -exec cp <the file> {} \;