在 unix/linux shell 中进行模式匹配时如何使用反通配符或负通配符?

2023-12-24

假设我想复制目录的内容,不包括名称中包含“音乐”一词的文件和文件夹。

cp [exclude-matches] *Music* /target_directory

应该用什么来代替 [exclude-matches] 来实现此目的?


在 Bash 中,您可以通过启用extglob选项,像这样(替换ls with cp当然,还要添加目标目录)

~/foobar> shopt extglob
extglob        off
~/foobar> ls
abar  afoo  bbar  bfoo
~/foobar> ls !(b*)
-bash: !: event not found
~/foobar> shopt -s extglob  # Enables extglob
~/foobar> ls !(b*)
abar  afoo
~/foobar> ls !(a*)
bbar  bfoo
~/foobar> ls !(*foo)
abar  bbar

您可以稍后禁用 extglob

shopt -u extglob
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 unix/linux shell 中进行模式匹配时如何使用反通配符或负通配符? 的相关文章

  • 在 MacOS 上重新启动终端而不关闭

    如何在不关闭窗口的情况下重新启动当前的 MacOS 终端会话 在Linux中我使用exec bash但在这种环境下它不起作用 我对 bash profile 提示 别名等 我想在不关闭它并再次打开的情况下查看 只需输入命令 exec bas
  • 如何在 JS 文件中使用 Github 机密

    我有一个基本的 git 存储库 其中包含用于构建和部署的 github 操作 主要是 HTML 和 TS 文件 但是我必须在一些需要保密的 API 密钥中使用 所以我想办法为他们使用 GITHUB SECRETS 如何在我的 js 或 TS
  • python等待shell命令完成

    我正在运行脚本来解压缩一些文件 然后删除 rar 文件 我通过 shell 运行命令来完成此操作 我尝试了几种不同的方法来让脚本等待文件解压完成 但它仍然继续并在文件使用完成之前删除文件 我已经尝试过下面的代码 这是行不通的 我试图看看是否
  • sed 替换为多行变量[重复]

    这个问题在这里已经有答案了 我正在尝试用跨多行的文本替换单词 我知道我可以简单地使用换行符 n 来解决这个问题 但我想保持字符串 干净 不包含任何不需要的格式 下面的例子显然是行不通的 read r d TEST lt
  • 如何在 bash 脚本中使用并行编程/多线程?

    这是我的脚本 bin bash script to loop through directories to merge fastq files sourcedir path to source destdir path to dest fo
  • '&&x' 模式匹配是否会导致 x 被复制?

    在文档中std iter 迭代器 filter https doc rust lang org stable std iter trait Iterator html method filter它解释了值通过引用传递给闭包 并且由于许多迭代
  • Cron 不会导入 pandas 模块来执行 python 脚本。 ```导入错误:没有名为 pandas 的模块```

    我使用的是xubuntu 18 01 我有一个 python 程序 可以抓取天气数据并将文件保存为 csv 运行命令完美运行weatherdata在我授予它许可后 在终端中使用chmod x weatherdata 我希望使用 cron 每
  • bash 将输出重定向到文件,但结果不完整

    重定向命令输出的问题已经被问过很多次了 但是我有一个奇怪的行为 我使用的是 bash shell debian 版本 4 3 30 1 release 并尝试将输出重定向到文件 但并非所有内容都记录在文件中 我尝试运行的 bin 文件是 l
  • 从 shell 查找不包含特定注释的 XML 文件

    我想搜索 awk grep sed 几个 XML 文件 pom xml 文件 跳过某些文件夹 而且 第一个条件是它们必须包含标签
  • system 和 shell_exec 之间的区别

    有什么区别shell exec and systemPHP 中的方法 两者都采用单个命令行参数并在 PHP 中运行 使用其中一种比另一种更好吗 请参阅此处的解释 http chipmunkninja com Program Executio
  • 退出代码大于 255 — 可能吗?

    如果是 在哪个操作系统 shell 或其他操作系统上 考虑以下 Java 程序 我使用 Java 只是作为示例 任何语言都适合这个问题 这更多地与操作系统有关 public class ExitCode public static void
  • Linux无法删除文件

    当我找到文件时 我在删除它们时遇到问题 任务 必须找到带有空格的文件并将其删除 我的尝试 rm find L root grep i 但我有错误 rm cannot remove root test No such file or dire
  • 类似 jq 中的 sql join

    我有以下 json id 1 type folder title folder 1 id 2 type folder title folder 2 id 3 type item title item 1 folder 1 id 4 type
  • awk 脚本中出现“BEGIN 块必须有操作部分”错误

    这是我的代码 bin sh filename usr bin find name INSTANCE log echo filename is filename awk BEGIN print Processing file filename
  • 使用 shell=True 将 PATH 设置为 bitbake 的“source”在 Python 中没有效果

    下面是shell脚本中的代码 source proj common tools repo etc profile d repo sh repo project init branch repo project sync source pok
  • 在 bash 中添加(收集)退出代码

    我需要依赖于脚本中的几个单独的执行 并且不想将它们全部捆绑在一个丑陋的 if 语句中 我想使用退出代码 每次执行并添加它 最后 如果这个值超过阈值 我想执行一个命令 伪代码 ALLOWEDERROR 5 run something RESU
  • Scala 和变量中的模式匹配

    我是 Scala 新手 有点想知道模式匹配是如何工作的 想象一下我有以下内容 case class Cls i Int case b Cls i gt Ok case e Cls gt Ok case f Cls gt Ok case s
  • 关键字“if”如何测试一个值是真还是假?

    在 bash 脚本中 if 1 then echo Yes else echo No fi Output Yes 它表示 1 被视为真值 但在代码中 word Linux letter nuxi if echo word grep q le
  • 如何使用 docker ENTRYPOINT 与 shell 脚本文件组合参数

    我编写 shell 脚本文件并将其与 docker ENTRYPOINT 一起使用 但是当我运行 docker image 时 由于入口点代码行 它只是停止而没有任何错误日志 我的 Dockerfile FROM ubuntu 16 04
  • grep 排除文件的数组参数

    我想从我的文件中排除一些文件grep命令 为此我使用参数 exclude excluded file ext 为了更容易阅读 我想使用包含排除文件的 bash 数组 EXCLUDED FILES excluded file ext 然后将

随机推荐

  • Python 3 对元组列表进行排序? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我是一个Python新手 我有一个问题 有人告诉我要与我为同一程序发布的另一篇文章分开询问这个问题 这是家庭作业 所以我
  • 汉堡菜单旋转至新活动箭头

    我注意到 随着 Android 版 Gmail 的最新更新 当您单击一封电子邮件时 会打开一个新的 Activity 由于后退箭头 我假设它不是片段 然而 新活动的后退箭头并不像默认情况下那样显示 这主界面的汉堡菜单旋转成箭头在动画中 请参
  • 寻找类似表的数据结构

    我有2组数据 假设一个是一个民族 另一个是一个群体 一个人可以在多个组中 而一个组中可以有多个人 我的操作基本上是对团体和人员进行 CRUD 以及一种确保人员列表属于不同组的方法 这被称为 alot 现在我正在考虑制作一个由二进制 0 和
  • 这些位掩码实际上是如何工作的?

    例如 NSCalendar 中的此方法采用位掩码 NSDate dateByAddingComponents NSDateComponents comps toDate NSDate date options NSUInteger opts
  • VSCode 中用于 Markdown 链接的键盘快捷键?

    从其他文本编辑器我习惯于添加 Markdown 链接 选择我想要链接的单词 在我的 Mac iPad Pro 键盘上按 cmd K 这会在标记的单词周围加上方括号 附加一对普通括号 并将光标放在这两个括号之间 以便我可以 只需按 cmd V
  • SQL:Like 与 Contains - 不同的结果

    我正在一个表上运行两个查询 SELECT MSDS FROM dbo MSDSSearch3 WHERE CONTAINS MSDS STYCAST And SELECT MSDS FROM dbo MSDSSearch3 WHERE MS
  • java 8中按多个字段名称分组

    我从 POJO 中找到了按某些字段名称对对象进行分组的代码 下面是代码 public class Temp static class Person private String name private int age private lo
  • 与 BouncyCastle 签署 CSR

    过去几天我一直在寻找解决我的问题的方法 但找不到任何东西 我的代码中遗漏了一些东西 但我不知道是什么 不知何故 当我签署我的 PKCS 10 时 链就断了 基本上我有一个服务器和一个客户端 我想让客户端向服务器发送 CSR 然后服务器对其进
  • 如何在 SwiftUI 应用程序中记录 Firebase Analytics 屏幕名称?

    我正在尝试在我的应用程序中记录屏幕名称 但大约 95 的屏幕名称未在 Firebase Analytics 中设置 In onAppear为了我的观点Analytics setScreenName screenName screenClas
  • windows下如何删除回收站中的文件? Python

    我正在尝试使用 python 删除回收站中的文件 但我找不到方法 谢谢 对于 Windows 操作系统 您可以使用winshell https github com tjguk winshell模块和它的empty https winshe
  • 有没有办法在 MySQL / Rails 中强制区分大小写以进行单个查找?

    我正在搜索一些标签 有些用户喜欢 猫 而另一些用户喜欢 猫 想想看 无论如何 有没有办法强制特定的查找区分大小写 例如 Tag find some special option here 有任何想法吗 您还可以在不更改列属性的情况下执行区分
  • C语言从文件中删除一行

    我想删除文件中的某些行 并根据行的某些部分是否与指定的字符串匹配来在同一文件中插入某些行 有没有一种方法可以在不使用临时文件将内容复制到等等的情况下执行此操作 问题是 文件 本质上 是磁盘上的字节数组 或任何其他物理基底 但是 无论如何 字
  • 列导向垫台

    我遇到的情况是 从后端收到的数据是面向列的 该数据的示例如下 columnName ID cells 1 2 3 4 5 columnName Name cells a b c d e 到目前为止 我已经成功地配置了我的 mat table
  • 如何在 Django Rest Framework 中创建 Json Web 令牌以供用户登录?

    我想将 JWT 集成到我的用户登录 API 中以进行身份 验证 如何将它与我在下面添加的现有代码集成 在代码中 我添加了一个需要相应更改的虚拟令牌 谢谢 添加我的 django 项目中的一些相关代码部分以供参考 序列化器 class Use
  • Boost.Asio SSL 上下文不验证证书

    这是我之前问题的延续 Boost Asio SSL上下文load verify paths未加载证书 https stackoverflow com questions 40198728 boost asio ssl context loa
  • 如何从 android 将参数传递到 HTML 文件

    我可以在 android webview 中很好地显示 HTML 文件内容 现在我如何将参数传递到 HTML 文件中 例如 我的 HTML 内容有一个视频播放器 我需要将动态值 URL 传递到 HTML 文件中以播放动态视频 我的 HTML
  • 设置带有“free”刻度的分类轴标签 ggplot2

    我正在尝试使用 R 3 1 1 中的 ggplot2 包 1 0 1 和 scales free 在分面图中的分类轴上设置标签 如果我在没有手动设置轴刻度标签的情况下进行绘图 它们会正确显示 第一个图 但是当我尝试设置标签 第二个图 时 两
  • Spring Cloud Stream Kafka Streams Binder KafkaException:无法启动流:“监听器”不能为空

    我是 Kafka Streams 和 Spring Cloud Stream 的新手 但在将集成相关代码移至属性文件中方面阅读过有关它的好文章 以便开发人员可以主要关注事物的业务逻辑方面 这里我有我的简单应用程序类 package com
  • 从插件模块读取 dll.config (不是 app.config!)

    我正在编写一个 C NET 2 0 dll 它是一个插件更大的应用 https en wikipedia org wiki AutoCAD 我的模块的 Visual Studio 项目有一个 app config 文件 该文件与 MyPro
  • 在 unix/linux shell 中进行模式匹配时如何使用反通配符或负通配符?

    假设我想复制目录的内容 不包括名称中包含 音乐 一词的文件和文件夹 cp exclude matches Music target directory 应该用什么来代替 exclude matches 来实现此目的 在 Bash 中 您可以