-1

我正在尝试复制没有一个文件的目录内容。我遇到的问题是该文件是嵌套的几个文件夹,并且 extglob 运算符无法匹配。

假设以下文件夹结构:

在此处输入图像描述

我想从源中复制所有内容,包括子文件夹和文件到 dest,除了smu.txt。

我原以为以下方法可以解决问题:

#!/bin/bash
shopt -s extglob

cp -vr source/!(smu.txt) dest/

但它仍然复制 smu.txt。

我也尝试了以下但没有成功:

#!/bin/bash
shopt -s extglob
shopt -s globstar

cp -vr source/!(**/smu.txt) dest/

如果 smu.txt 直接在../source它下面,它会成功忽略它,但是如何让它忽略子目录中的文件?

4

1 回答 1

1

您是否尝试过使用查找?也许这有效:

$ find -name "source/*!(smu.txt)" -exec cp -vr {} dest/\;
于 2018-08-14T12:44:10.313 回答