我有一个目录树,里面有很多文件。我想将所有这些文件复制到一个新目录中,但所有文件都位于该文件夹的底部。
所以我有这样的事情:
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
您正在寻找扁平化目录的方法
find /images -iname '*.jpg' -exec cp --target-directory /newfolder/ {} \;
find所有文件均iname采用不区分大小写的名称模式。 cp复制一次至--target-directorynamed /newfolder/。 {}将列表从扩展find为/dir/file.jpg /dir/dir2/bla.jpg。
find
iname
cp
--target-directory
/newfolder/
{}
/dir/file.jpg /dir/dir2/bla.jpg