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

前端之家收集整理的这篇文章主要介绍了如何在Linux中执行文件操作(例如cp,mv,rm和chown等)时排除文件夹前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在执行文件操作时排除文件夹,即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

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

原文链接:https://www.f2er.com/linux/398485.html

猜你在找的Linux相关文章