需要帮助递归地将文件复制到所有目录

时间:2014-11-13 16:47:11

标签: bash shell unix command-line terminal

我有一堆不同名称的文件夹,我试图将一个文件复制到。我不确定如何使用通配符charachter。有人可以帮我解决这个问题吗?到目前为止,我坚持使用这个命令

cp -R custom.css 

如您所见,我正在尝试将custom.css复制到所有目录。谢谢!

4 个答案:

答案 0 :(得分:2)

一个简单的for循环:

for d in path/to/dir1/ path/to/dir2/ path/to/dir3/; do
   cp custom.css "$d"
done

EDIT :: 从父目录运行此命令将文件复制到所有子目录:

for d in */; do
   cp custom.css "$d"
done

答案 1 :(得分:0)

首先,习惯于循环(让我们假设你正在使用)bash。尝试创建3个测试目录,例如d1,d2和d3。

尝试:

for d in d1 d2 d3; do echo $d; done

确保列表正确无误,然后执行:

for d in d1 d2 d3; do cp custom.css $d/; done

复制文件。

现在检查以确保文件已被复制。

O.k。,现在它可以正常工作,将文件复制到实际目录。

答案 2 :(得分:0)

递归地

所有子目录:

find . -type d -execdir cp /full/path/to/custom.cs . \;

答案 3 :(得分:-1)

没关系,我明白了。这就是我所做的

for d in ~/Desktop/menus/*/ ; do cp custom.css $d; done
相关问题