加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

如何在Linux中执行文件操作(例如cp,mv,rm和chown等)时排除文件夹

发布时间:2020-12-13 16:44:43 所属栏目:Linux 来源:网络整理
导读:如何在执行文件操作时排除文件夹,即cp等. 我目前使用通配符*将文件操作应用于所有,但我需要排除一个单独的文件夹. 我实际想要使用的命令是chown来更改目录中所有文件的所有者,但我需要排除一个子目录. 解决方法 反向全球: 你想要一个glob的反向匹配,我会像
如何在执行文件操作时排除文件夹,即cp等.

我目前使用通配符*将文件操作应用于所有,但我需要排除一个单独的文件夹.

我实际想要使用的命令是chown来更改目录中所有文件的所有者,但我需要排除一个子目录.

解决方法

反向全球:
你想要一个glob的反向匹配,我会像下面这样做:

如果启用扩展通配,则可以与较新的bash进行反向匹配.例如,要匹配名称中没有foo或bar的所有内容:

shopt -s extglob
echo !(*foo*|*bar*)

或者只是没有foo的所有东西:

shopt -s extglob
echo !(*foo*)

找:
您也可以使用find(这是我认为最强大的选项),并使用!否定匹配,然后使用xargs -0运行命令:

find . ! -iname 'foo' -print0 | xargs -0 echo

简单:只需将文件夹放在其他地方,做你需要做的事情,然后把它放回去:-)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读