仅包含与递归差异中给定模式匹配的文件

2024-02-20

如何对两个目录(a 和 b)中的文件执行递归比较:

$ diff -r a b

但只查看名称与给定模式匹配的文件。例如,使用 find 命令中可用的相同语法,如下所示:

$ diff -r a b -name "*crazy*"

这将显示 a 和 b 中具有相同名称和路径的文件之间的差异,这些文件的名称中包含“crazy”。

实际上,我正在寻找 diff 中可用的 --exclude 选项的相反选项。


也许这有点间接,但它应该有效。您可以使用find获取文件列表don't匹配模式,然后“排除”所有这些文件:

find a b -type f ! -name 'crazy' -printf '%f\n' | diff -r a b -X -

The -X -将使diff从标准输入读取模式并排除任何匹配的内容。如果您的文件没有像这样有趣的字符,这应该可以工作* or ?以他们的名义。唯一的缺点是你的差异不会包括find命令,所以列出的diff命令没那么有用。

(我只用 GNU 测试过find and diff).

EDIT:

因为只有非 GNUfind没有-printf, sed可以用作替代方案:

find a b -type f ! -name '*crazy*' -print | sed -e 's|.*/||' | diff -X - -r a b

这也是假设非 GNUdiff has -X我不知道。

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

仅包含与递归差异中给定模式匹配的文件 的相关文章

  • 如何从脚本编辑 /etc/sudoers?

    我需要编辑 etc sudoers从脚本中添加 删除白名单中的内容 假设我有一个可以处理普通文件的命令 我如何将其应用到 etc sudoers 我可以复制并修改它 然后有visudo用修改后的副本替换原始版本 通过提供我自己的脚本 EDI
  • python等待shell命令完成

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

    我需要在java中执行 lnk文件 指向exe文件的lnk文件 我能怎么做 在 VB net 中我做 Process Start path 它有效 谢谢你的帮助 Use a 流程构建器 http download oracle com ja
  • 在ubuntu中打开spyder

    我想在ubuntu中打开spyder Python IDE 通常我会在 shell 中编写 spyder 它会打开spyder IDE 现在 当我在shell中编写spyder时 它只是换行 什么也没有发生 类似于按 enter 我如何找回
  • Crontab 每 5 分钟一次 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我如何告诉 crontab 每 5 分钟运行一次 但从每小时的第二分钟开始 换句话说 我想在以下时间执行我的脚本minute 5 2 例如 我的脚本应
  • 类似 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
  • hg 或 git 中的两个完整目录/项目之间存在差异?

    我继承了一个最初存储在 CVS 中的项目以及所有修订 我做了相当多的编辑 并且我试图比较我在原始目录中所做的所有更改 关于添加的新文件与旧文件 hg git 是否有某种实用程序可以让我进行树差异或类似性质的操作 也就是说 新添加的文件 删除
  • 安装python启动文件

    我如何安装pythonstartup文件 以便它在命令上运行 例如python myfile py 我尝试将其安装到我的 home myuserUbuntu的目录 但它说我没有足够的权限 此外 不同的地方交替说它应该全部大写或全部小写 前面
  • 在 bash 中添加(收集)退出代码

    我需要依赖于脚本中的几个单独的执行 并且不想将它们全部捆绑在一个丑陋的 if 语句中 我想使用退出代码 每次执行并添加它 最后 如果这个值超过阈值 我想执行一个命令 伪代码 ALLOWEDERROR 5 run something RESU
  • 如何处理文件中的特殊字符(ഀ)

    我有一个文件 当我打开它时 它看起来像这样 Notepad A B C D E 31 HB 39 Ph 49 32 FB 38 Ph 59 当我尝试从 WinScp 打开它时 它看起来如下所示 A B C D E 31 HB 39 Ph 4
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • shell中如何分割字符串

    我有一个变量作为 string ABC400p2q4 我怎样才能分开ABC400 and p2q4 我需要将它分成两个变量 结果我得到 echo var1 ABC400 echo var2 p2q4 可以用任何字母字符代替 ABC 可以用任
  • 检查帐号是否为数字时出现语法错误

    if account nr 0 9 from account nr 0 9 这是为了检查帐号是否为数字 我收到语法错误 这个问题的早期版本缺少之间的空格if and 实际代码具有所需的空间 它显示以下错误消息 syntax error ac
  • 添加文件时运行 shell 命令

    我的 Linux 机器上有一个名为 images 的文件夹 该文件夹连接到一个网站 该网站的管理员可以向该网站添加图片 但是 当添加图片时 我想要一个命令来运行调整目录中所有图片的大小 简而言之 我想知道当新文件添加到特定位置时如何使服务器
  • 如何正确使用fork、exec、wait

    我正在编写的 shell 需要执行用户提供给它的程序 这是我的程序的非常简短的简化版本 int main pid t pid getpid this is the parents pid char user input NULL size
  • 并行运行 shell 脚本

    我有一个 shell 脚本 打乱大型文本文件 600 万行和 6 列 根据第一列对文件进行排序 输出 1000 个文件 所以伪代码看起来像这样 file1 sh bin bash for i in seq 1 1000 do Generat
  • 使用 shell 脚本将行附加到 /etc/hosts 文件

    我有一个新的 Ubuntu 12 04 VPS 我正在尝试编写一个安装脚本来完成整个 LAMP 安装 我遇到问题的地方是在 etc hosts文件 我当前的主机文件如下所示 127 0 0 1 localhost Venus The fol
  • Bash - 在与当前终端分开的另一个终端中启动命令的新实例

    我有一个简单的 bash 脚本 test sh 设置如下 bin bash args if args 0 check capture then watch n 1 ls lag home user capture0 watch n 1 ls
  • 在 AIX 中使用 Mailx 通过电子邮件发送 SQLPlus 查询结果的 Shell 脚本

    我有我需要的命令 如果我在提示符下执行这些命令 一切都会按预期进行 SQLPlus 运行查询 将结果导出到文件 然后 Mailx 将该文件通过电子邮件发送给我 sqlplus username pwd instance SPOOL home
  • 检查已安装的软件包,如果没有找到则安装

    我需要检查已安装的软件包 如果未安装则安装它们 RHEL CentOS Fedora 示例 rpm qa grep glibc static glibc static 2 12 1 80 el6 3 5 i686 如何在 BASH 中进行检

随机推荐

  • 使用 Microsoft.Extensions.DependencyInjection 创建子容器(或隔离范围)的最佳策略

    在我的 AspNetCore 应用程序中 我处理从队列到达的消息 为了处理消息 我需要解析一些服务 其中一些服务依赖于ITenantId 我使用收到的消息中的信息进行绑定 为了解决这个问题 消息的处理从创建一个子容器开始 然后我用它来创建一
  • 我可以有一个名为“/”的值构造函数吗?

    我声明了具有以下结构的递归数据类型 data Path GET POST Slash Path String 我真的很想将最后一个值构造函数重命名为 这样我就可以将它插入可爱的表情中 例如GET controller action 但是 如
  • 全文搜索与标准数据库搜索

    我想知道全文搜索 搜索文件中的数据 和标准数据库搜索 LIKE IN 等 之间有什么区别 我在这里注意到的是 在文件中没有数据类型 但在数据库中您可以为特定数据定义数据类型 我感兴趣的是哪种搜索更快以及两者的优缺点是什么 Thanks 全文
  • 将 UIView 添加到 cell.contentView 时的 UITableView 性能问题

    我在使用某些子视图时遇到性能问题UITableViewCells 当我继续滚动后 它最终开始变得非常慢 我要做的第一步是创建一个共同的UIView对于每个单元格 本质上这是创建一个白色单元格 在带有阴影的单元格上具有圆形效果 这个表现似乎很
  • MongoDB - 检查文档中的字段是否存在值

    我有一个集合 其中的文档如下所示 0 id ObjectId 5320b1c723bc746084fa7107 channels 3 4 1 id ObjectId 5320b1c723bc746084fa7107 channels 我想形
  • 从向量中删除带有标签的数据

    我有一个包含 html 标签的字符串向量 例如 abc lt welcome span class a href abc a span Have fun 我想删除这些标签并获得以下向量 e g abc lt welcome Have fun
  • 无法打开 XML 文件 - Wix 无法更新 appsettings.json

    我在用Wix创造MSI安装人员 我的要求是通过parameters安装时msi从命令行和update theappsettings json 以及传递的值 为了实现这一点 我添加了以下属性和组件
  • 为什么需要 num::One 来迭代一个范围?

    为什么以下带有 char 范围的 for 循环无法编译 fn main for c in a z println c Error main rs 11 5 14 2 error the trait core num One is not i
  • 哪些文件系统支持 Java UserDefinedFileAttributeView?

    我需要用文件系统中的文件存储自定义数据 每个文件大约 50 个字节 我没有任何其他存储来保存数据 并且无法为此创建额外的文件 这些是我的要求我无法改变它 我发现这可以使用 UserDefinedFileAttributeView 类来完成
  • Mongo客户端无法访问以下划线前缀的集合

    我在 Mongo 中用下划线命名了一个集合 并且无法从 shell 访问它 meteor PRIMARY gt show collections assignments chatmessages other stuff 尝试在第一个集合上运
  • 黑莓 - 如何调整图像大小?

    我想知道我们是否可以调整图像大小 假设我们要在黑莓屏幕上绘制一张实际尺寸为 200x200 尺寸为 100 x 100 的图像 Thanks 您可以非常简单地使用以下命令来完成此操作EncodedImage scaleImage32 htt
  • 如何在 MySQL 中循环使用数组?

    我想创建一个存储过程或普通查询 其中的值通过数组传递 Example CREATE PROCEDURE proc BEGIN DECLARE cont INTEGER DECLARE var ARRAY SET cont 0 SET var
  • 自动重新调整整个存储库的基础以重组和应用 Prettier

    我想清理一个具有一年提交量 总共大约 4000 次 的存储库的历史记录 一位贡献者一直不同意格式化标准 并多次更改 Prettier 配置文件 或者根本不使用 Prettier 结果 git 的历史就像一场外观变化的拉锯战 差异巨大 而真正
  • 如何编译具有 ML 兼容性的 F# 代码?

    以下 F 片段似乎仅在 ML 兼容模式下编译才有效 运行它here http rextester com MVY61204 let i 1 lxor 5 但是 我无法在 Visual Studio 2012 中的简单项目中编译它 也无法从命
  • 如何在 Kubernetes 上使用 Spark 修复“禁止!配置的服务帐户无权访问”?

    我正在尝试运行以下基本示例使用 k8s 集群提交 Spark 应用程序 https spark apache org docs latest running on kubernetes html submitting application
  • .NET Core IServiceScopeFactory.CreateScope() 与 IServiceProvider.CreateScope() 扩展

    我的理解是 当使用内置的依赖注入时 NET Core 控制台应用程序将要求您自己创建和管理所有范围 而 ASP NET Core 应用程序将创建和管理HttpRequest默认情况下通过定义的中间件作用域 使用 ASP NET Core 您
  • Tomcat 中的会话管理

    我开发了一个简单的 Web 应用程序 其中包含 2 个 servlet A 和 B 我对 Tomcat 的网络应用程序的会话管理有一些疑问 注意 在访问网络应用程序时 我在网络浏览器 Chrome 中禁用了 cookie 1 当第一次访问
  • 更改 WordPress 图像 URL

    在我的 WordPress 网站上 我的所有图像都显示为损坏的链接 它们还在 WordPress 后端的媒体库中显示为损坏的链接 我使用 Google Chrome 检查了这些图像 发现它们都像这样显示 img src http firou
  • 平台 pinvoke 教程 msdn

    以下是来自的教程msdn http msdn microsoft com en us library aa288468 28v vs 71 29 aspx 在教程中 flushall 的输出是 Test 但我通过使用 console wri
  • 仅包含与递归差异中给定模式匹配的文件

    如何对两个目录 a 和 b 中的文件执行递归比较 diff r a b 但只查看名称与给定模式匹配的文件 例如 使用 find 命令中可用的相同语法 如下所示 diff r a b name crazy 这将显示 a 和 b 中具有相同名称