如何复制目录并递归忽略某个目录?

时间:2013-01-22 04:37:03

标签: macos shell cp

mac OS。 我想复制一个名为“bundleDir”的目录,它有一些像“.svn”这样的子目录。另外在目录bundleDir中还有其他有“.svn”的directorys  像这样的树

bundleDir
    ----.svn
    ----dirM
          ----.svn
          ----a.txt
    ----b.txt

我想将bundleDir复制到另一个目录,递归地排除.svn。我怎样才能做到这一点 ?

1 个答案:

答案 0 :(得分:0)

IFS=$'\n'; for f in $(find bundleDir -depth | grep -v '/\.svn[/$]'); do d=~/target/"${f%/*}"; mkdir -p "$d"; cp -n "$f" "$d"; done

cp -R bundleDir ~/target; find ~/target -type d -name .svn -delete