将文件复制到多个目录 - Unix

时间:2015-06-06 12:17:22

标签: linux bash unix directory directory-structure

我想将一个文件复制到许多目录中。我的路径结构如上所述。

folder1-> anotherfolder -> **here I want to copy my file**
folder2-> anotherfolder -> **here I want to copy my file**
folder3-> anotherfolder -> **here I want to copy my file**
folder4-> anotherfolder -> **here I want to copy my file**

folder1,2,3,4位于同一目录中。但名称是文件夹不顺序。

我可以使用此代码获取文件夹的名称,但之后我不知道如何进入文件夹并复制我的文件。

    for d in */ ; do
     echo "$d"
    done

此代码为我提供了目录中的文件夹名称。完成此步骤后,如何进入文件夹并复制文件?

2 个答案:

答案 0 :(得分:1)

好像你想做这样的事情:

for d in */; do
    cp file "$d"/anotherfolder
done

答案 1 :(得分:1)

首先尝试(有限制)

if type(x) is type(y):
    fight()
  

限制:

     
      
  • dir-names中没有空格/斜杠/ glob字符
  •   

第二次尝试(清洁,感谢gniourf_gniourf)

for d in $(find . -maxdepth 2 -type d | grep "/.*/"); do
    cp file "$d"
done