【发布时间】:2019-09-26 21:27:34
【问题描述】:
我有一个目录oridir,结构如下:
.
├── DIRA
│ ├── DIRA1
│ │ └── file2.txt
│ └── DIRA2
│ ├── file1.xls
│ └── file1.txt
└── DIRB
├── DIRB1
│ └── file1.txt
└── DIRB2
└── file2.xls
我必须在保持目录结构的同时复制扩展名为.xls 的文件。所以我需要在newdir 文件夹中有以下目录和文件:
.
├── DIRA
│ └── DIRA2
│ └── file1.xls
└── DIRB
└── DIRB2
└── file2.xls
我尝试了以下命令,但它复制了所有文件和文件夹:
cp -r oridir newdir
可以通过以下方式查找所需文件:
$ find oridir | grep xls$
oridir/DIRB/DIRB2/file2.xls
oridir/DIRA/DIRA2/file1.xls
也如下:
$ find oridir -type f -iname *.xls
./oridir/DIRB/DIRB2/file2.xls
./oridir/DIRA/DIRA2/file1.xls
但是如何创建这些文件夹和复制文件。如何在 Linux 中使用 `bash' 实现这种选定的目录创建和复制文件?
编辑:一些文件和目录名称中也有空格。
【问题讨论】: