千電子伏的方式是更好的,但是這也將工作:
find "/home/folder" -maxdepth 1 | sed -e "/^\/home\/folder$/d" -e "/^\/home\/folder\/subfolder5$/d" -e "/^\/home\/folder\/subfolder7$/d" -e "s/^/cp \-r /" -e "s/$/ \/home\/target/" | cat
解釋:
find "/home/folder" -maxdepth 1 |
// get all files and dirs under /home/folder, pipe output
sed -e "/^\/home\/folder$/d"
// have sed strip the path being searched, or the cp -r we prepend later will pickup the excluded dirs again.
-e "/^\/home\/folder\/subfolder5$/d"
// have sed strip subfolder5
-e "/^\/home\/folder\/subfolder7$/d"
// have sed strip subfolder7
-e "s/^/cp \-r /"
// have sed prepend "cp -r " to each line
-e "s/$/ \/home\/target/" | cat
// have sed append targetdir to each line.
輸出:
cp -r /home/folder/subfolder9 /home/target
cp -r /home/folder/subfolder1 /home/target
cp -r /home/folder/file10 /home/target
cp -r /home/folder/subfolder2 /home/target
cp -r /home/folder/file1 /home/target
cp -r /home/folder/subfolder3 /home/target
更改| cat
至| sh
執行該命令。
<一個很大的聲明放在這裏>
你應該千電子伏的解決方案是更好的
來源
2012-02-27 12:47:28
jon
第一拷貝完整文件夾遞歸地,然後使用rm命令刪除子文件夾5和7 – Pradeep 2012-02-27 12:39:59
可能重複的[遞歸複製文件夾中,不包括一些文件夾](HTTP://計算器。 com/questions/2193584/copy-folder-recursively -exhibit-some-folders) – 2014-06-27 08:06:58