gpt4 book ai didi

linux - Bash 脚本复制文件夹和内容而不需要一个文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:53:56 25 4
gpt4 key购买 nike

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

假设以下文件夹结构:

enter image description here

我想将源中的所有内容(包括子文件夹和文件)复制到 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 下,它会成功忽略它,但如何让它忽略子目录中的文件?

最佳答案

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

$ find -name "source/*!(smu.txt)" -exec cp -vr {} dest/\;

关于linux - Bash 脚本复制文件夹和内容而不需要一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51841469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com