如何将文件复制到具有相同结构的一组文件夹中?

时间:2016-03-16 10:35:53

标签: bash shell command-line

我有一组具有相同结构的文件夹,例如:


folder1_name/global/thumbnails/
folder2_name/global/thumbnails/
folder3_name/global/thumbnails/

...

folder100_name/global/thumbnails/

如何将文件复制到"缩略图"所有文件夹" folderN_name"?

我打算做的是:

cp my_file folder*_name/global/thumbnails/

但它不起作用。我该如何解决?

5 个答案:

答案 0 :(得分:3)

您需要一次使用一个目标目录,一个简单的循环可以:

for i in folder*_name/global/thumbnails/; do [ -d "$i" ] && cp my_file "$i"; done

答案 1 :(得分:1)

bash for循环是你的朋友:

for i in folder*_name/global/thumbnails/; do
  cp my_file $i
done

答案 2 :(得分:1)

findxargs一起使用:

find folder[0-9]_name/global/thumbnails/ -type d | xargs -I {} cp my_file {}

答案 3 :(得分:0)

您必须生成类似

的N个复制命令
 for target in folder*_name/global/thumbnails/
 do
     echo "copying my_file into $target"
     cp my_file $target
 done

我在那里添加了echo命令,这样你就可以看到它正在做什么。

答案 4 :(得分:0)

*符号不会像你想要的那样与cp一起使用。

你需要一个循环:

for i in {1..100}; do
        cp your_file folder$i\_name/global/thumbnails/
done