我有一个目录树,里面有很多文件。我想将所有这些文件复制到一个新目录中,但所有文件都位于文件夹的底部。
所以我有这样的事情:
images
├── avatar.png
├── bg.jpg
├── checkbox.png
├── cross.png
├── datatables
│ ├── back_disabled.png
│ ├── back_enabled.png
│ ├── forward_disabled.png
│ ├── forward_enabled.png
│ ├── sort_asc.png
│ ├── sort_asc_disabled.png
│ ├── sort_both.png
│ ├── sort_desc.png
│ └── sort_desc_disabled.png
├── exclamation.png
├── forms
│ ├── btn_left.gif
│ ├── btn_right.gif
│ ├── checkbox.gif
│ ├── input
│ │ ├── input_left-focus.gif
│ │ ├── input_left-hover.gif
│ │ ├── input_left.gif
│ │ ├── input_right-focus.gif
│ │ ├── input_right-hover.gif
│ │ ├── input_right.gif
│ │ ├── input_text_left.gif
│ │ └── input_text_right.gif
│ ├── radio.gif
│ ├── select_left.gif
│ ├── select_right.gif
我想要这样的事情:
new_folder
├── avatar.png
├── bg.jpg
├── checkbox.png
├── cross.png
├── back_disabled.png
├── back_enabled.png
├── forward_disabled.png
├── forward_enabled.png
├── sort_asc.png
├── sort_asc_disabled.png
├── sort_both.png
├── sort_desc.png
├── sort_desc_disabled.png
├── exclamation.png
├── btn_left.gif
├── btn_right.gif
├── checkbox.gif
├── input_left-focus.gif
├── input_left-hover.gif
├── input_left.gif
├── input_right-focus.gif
├── input_right-hover.gif
├── input_right.gif
├── input_text_left.gif
├── input_text_right.gif
├── radio.gif
├── select_left.gif
├── select_right.gif
我很确定有一个bashcommand,但我还没有找到它。你有什么想法吗?
CS
答案 0 :(得分:33)
find /source-tree -type f -exec cp {} /target-dir \;
答案 1 :(得分:13)
您正在寻找展平目录的方法
find /images -iname '*.jpg' -exec cp --target-directory /newfolder/ {} \;
find
所有文件iname
,不区分大小写的名称模式
cp
一次复制到名为--target-directory
的{{1}}
/newfolder/
将列表从{}
扩展为find
。
答案 2 :(得分:2)
在 zsh :
cp /source/**/* /destination