4

我正在尝试cp一个文件:index.php进入所有子目录,以及这些子目录的子目录,依此类推,这样根目录的每个子目录都有index.php

我从这个开始:

for d in */; do cp index.php "$d"; done; 

仅适用于顶级子目录。我尝试像这样将它嵌套几次:

for d in */; do cp index.php "$d"; for e in */; do cp index.php "$e";for f in */; do cp index.php "$f"; done; done; done

但这似乎没有任何作用

4

2 回答 2

9

尝试这个 :

find . -type d -exec cp index.php {} \;

笔记

  • -type d查找所有目录和子目录
于 2013-03-11T19:04:27.210 回答
1

sputnick的回答既好又简单。作为记录,这是使用 shell 函数的一种方法。如果操作很复杂或有条件,您可能想要这样的东西。

t=$PWD/index.php

recurse () {
  for i in */.; do
    if [ "./$i" != './*/.' ]; then
      (cd "./$i" && cp "$t" . && recurse)
    fi
  done
}

recurse
于 2013-03-11T19:23:48.173 回答