仅解压缩特定扩展名

2024-03-19

我有一个包含 .jpg、.png、.gif 图像的 zip 存档目录。我想解压缩每个存档,仅获取图像并将它们放入具有存档名称的文件夹中。

So:

files/archive1.zip
files/archive2.zip
files/archive3.zip
files/archive4.zip

打开 archive1.zip - 获取 sunflower.jpg、rose_sun.gif。创建一个文件夹 files/archive1/ 并将图像添加到该文件夹​​中,即 files/archive1/folder1.jpg、files/archive1/rose_sun.gif。对每个档案执行此操作。

我真的不知道如何做到这一点,欢迎所有建议。我有超过 600 个档案,自动解决方案将是我的救星,最好是 Linux 解决方案。


In Short

您可以通过一行查找+解压缩来完成此操作。

find . -name "*.zip" -type f -exec unzip -jd "images/{}" "{}" "*.jpg" "*.png" "*.gif" \;

详细

unzip允许您指定所需的文件:

unzip archive.zip "*.jpg" "*.png" "*.gif"

And -d目标目录:

unzip -d images/ archive.zip "*.jpg" "*.png" "*.gif"

将其与find,您可以提取所有 zip 中的所有图像:

find . -name "*.zip" -type f -exec unzip -d images/ {} "*.jpg" "*.png" "*.gif" \;

Using unzip -j为了破坏 zip 内部目录结构的提取,我们可以用一个命令完成这一切。这将为您提供由邮政编码名称分隔的平面图像列表,您希望将其作为一行。

find . -name "*.zip" -type f -exec unzip -jd "images/{}" "{}" "*.jpg" "*.png" "*.gif" \;

一个限制是unzip -d不会创建多于一层的新目录,所以只需mkdir images第一的。享受。

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

仅解压缩特定扩展名 的相关文章

  • touch命令在一个目录下创建多个文件(不同名称)

    我想制作一个在 bash 中创建目录和文件结构的脚本 我尝试过这样的事情 mkdir p 1 2 touch 1 2 a b c a b c 应该是在一个命令或其他命令中创建的文件 但由于某种原因 结构是这样的 current folder
  • 如何用X11复制到剪贴板?

    使用 OS X 上的框架 我可以使用以下命令将 PNG 复制到粘贴板 在 C 中 显然我可以将 NSPasteboard 与 Cocoa 一起使用 include
  • 怎样才能使 Windows 成为一个开箱即用的 POSIX 兼容操作系统?

    这个问题的动机是我的一个牵强的梦想 即 nix 平台上可用的许多优秀软件可以轻松移植到 Windows 微软最近对开源和开放性采取了不同的方法 所以我真的很想知道如果微软有这样的倾向 这样的事情会有多可行 我很好奇的一些更具体的事情是 是否
  • 如何让 clangd 转向 c++20

    当没有其他信息时 如何让 clangd 回退到 c 20 例如 在第一次构建之前 cmake 可以生成一个 这是在带有最新 LLVM 的 Arch Linux 上 这是通过 Emacs LSP 运行的 但这应该没有什么区别 你可以加 Com
  • 伊迪德信息

    重新定义问题 有什么方法可以获取所连接显示器的序列号吗 我想收集显示器的Eid信息 当我使用 logverbose 选项运行 X 时 我可以从 xorg 0 log 文件中获取它 但问题是 如果我切换显示器 拔出当前显示器 然后插入另一个显
  • 为什么在 Linux 上字符串文字的内存地址与其他字符串文字的内存地址如此不同?

    我注意到字符串文字在内存中的地址与其他常量和变量 Linux 操作系统 非常不同 它们有许多前导零 未打印 Example const char h Hi int i 1 printf p n void h printf p n void
  • Inotify linux 监视子目录

    是否可以以这种模式监视目录 storage data usernames Download gt storage data Download 我需要监视每个用户的下载文件夹中是否进行了更改 也许我需要创建所有路径的列表 将其放入数组中 并在
  • 如何在Python中独立于语言安装(linux)获取用户桌面路径

    我找到了 如何找到用户桌面的路径 的几个问题和答案 但在我看来它们都已失效 至少我找到的那些 原因是 如果用户安装的 Linux 不是英语 他或她的桌面很可能位于除 Desktop 例如 对于瑞典语 我相信它是在 Skrivbord 谁知道
  • 在Linux中断上下文中运行用户线程

    我正在编写一些定制的应用程序 并允许更改 Linux 内核中的中断处理程序代码 我有一个用户线程正在等待中断发生 如果发生中断 那么我要做的第一件事就是执行该用户线程 有什么办法让它发挥作用吗 Thanks 创建一个字符设备 这就是内核所做
  • Linux shell 脚本:十六进制数字到二进制字符串

    我正在 shell 脚本中寻找一些简单的方法来将十六进制数字转换为 0 和 1 字符的序列 Example 5F gt 01011111 是否有任何命令或简单的方法来完成它 或者我应该为其编写一些开关 echo ibase 16 obase
  • sleep 0 有特殊含义吗?

    我看到很多用法sleep 0在我的一个客户项目中 代码看起来像这样 while true sleep 0 end 阅读一些像这样的答案this https stackoverflow com questions 3727420 signif
  • 从多线程程序中调用 system()

    我们正在开发一个用 C 编写的多线程内存消耗应用程序 我们必须执行大量的 shellscript linux 命令 并获取返回码 读完之后article http www linuxprogrammingblog com threads a
  • 劫持系统调用

    我正在编写一个内核模块 我需要劫持 包装一些系统调用 我正在暴力破解 sys call table 地址 并使用 cr0 来禁用 启用页面保护 到目前为止一切顺利 一旦完成 我将公开整个代码 因此如果有人愿意 我可以更新这个问题 无论如何
  • 视图无法解析为类型

    这里的视图似乎有什么问题 我该如何解决它 错误 视图无法解析为类型 public void onItemClick AdapterView
  • 如何使用 sed 仅删除双空行?

    我找到了这个问题和答案 https stackoverflow com questions 4651591 howto use sed to remove only triple empty lines关于如何删除三重空行 但是 我只需要对
  • 在 Java 中如何找出哪个对象打开了文件?

    我需要找出答案哪个对象在我的 Java 应用程序中打开了一个文件 这是为了调试 因此欢迎使用工具或实用程序 如果发现哪个对象太具体了 这class也会很有帮助 这可能很棘手 您可以从使用分析器开始 例如VisualVM http visua
  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • 在 Linux 上的 Python 中使用受密码保护的 Excel 工作表

    问题很简单 我每周都会收到一堆受密码保护的 Excel 文件 我必须解析它们并使用 Python 将某些部分写入新文件 我得到了文件的密码 当在 Windows 上完成此操作时 处理起来很简单 我只需导入 win32com 并使用 clie
  • 如何制作和应用SVN补丁?

    我想制作一个SVN类型的补丁文件httpd conf这样我就可以轻松地将其应用到其他主机上 If I do cd root diff Naur etc httpd conf httpd conf original etc httpd con
  • 如何模拟ARM处理器运行环境并加载Linux内核模块?

    我尝试加载我的vmlinux into gdb并使用 ARM 内核模拟器 但我不明白为什么我会得到Undefined target command sim 这是外壳输出 arm eabi gdb vmlinux GNU gdb GDB 7

随机推荐

  • 如何使用 ES6 Fat Arrow .filter() 对象数组

    我正在尝试使用 ES6 箭头函数 filter返回成人 杰克和吉尔 看来我不能使用 if 语句 为了在 ES6 中执行此操作 我需要了解什么 var family name Jack age 26 name Jill age 22 name
  • 转发引用是否仍然是右值引用?

    我仍然对支持移动和转发而发明的规则感到困惑 我仍然不确定的一件事是 是转发参考 just 右值引用 和 应用参考折叠规则 如果它是右值引用 那么该函数为什么会这样 template
  • 显示数据库表中的动态范围并计算每个范围内的行数

    我有这样的数据库表 我想显示不同的 5 岁年龄范围以及该范围内的学生数量 如下所示 此处 最低年龄为 10 岁 因此我们首先计算范围 10 15 该范围内有 5 名学生 对于第二个范围 我们需要找到年龄 gt 15 即18 因此 第二个范围
  • 如何将 JSONString 解析为数据集?

    我正在使用 Web 服务创建 C 应用程序 在我的网络服务中我使用JSONString数据 但我无法将此字符串转换为DataSet My JSONString is Table DisplayVoucherNumber A101239Z A
  • 为什么在 Python 包中使用绝对导入而不是相对导入?

    我最近创建了一个 Python 包 在其中仅使用相对导入来访问存储在其他方法中的函数 现在 在 Numpy 中 我看到很多文件大量使用绝对导入 例如这个文件 https github com numpy numpy blob 8f547f2
  • io:ios应用程序开发选项变灰

    我刚刚签署并创建了一个具有钥匙串访问权限的证书 然后在开发人员门户中单击证书 gt 开发人员 gt 当系统提示我您需要什么类型的证书时 正在开发的ios应用程序开发是灰色的 有人知道为什么吗 我需要吊销证书吗 每个用户只能申请一份开发证书
  • 将 Facebook Connect 与 Authlogic 结合使用

    我正在努力使 Authlogic 和 Facebook Connect 使用 Facebook 发挥良好作用 以便您可以通过正常注册方式或使用 Facebook Connect 创建帐户 我已经能够以一种方式使连接正常工作 但注销仅在 Fa
  • 查询输入必须至少包含一个表或查询

    我在 access 中有一个查询 应该在插入之前检查该项目是否已存在于数据库中 INSERT INTO FinalizedPrintedStickers Values 0000846043 481 9 0 48IG 1F Straight
  • 装箱和拆箱,为什么输出不是都是“System.Object”?

    我得到以下代码 object var3 3 Console WriteLine var3 GetType ToString Console WriteLine typeof object ToString 输出是 System Int32
  • 动态加载.js文件时捕获onload事件?

    有没有捕获onload在 IE 中使用 JavaScript 动态添加脚本标签时会发生事件吗 下面的代码适用于 FireFox 和 Chrome 但不适用于 IE
  • 数列识别

    从另一个问题发展而来 识别R中重复数字的序列 https stackoverflow com questions 7509381 identifying sequences of repeated numbers in r 15328802
  • 根据运行时条件在 Azure Pipeline 中执行或不执行模板

    我已经运行了 Azure Pipeline 现在 我想仅当运行时某个条件成立时才执行一系列步骤 Example steps template steps checkout yml some more steps here bash if s
  • 如何使用Nodejs从上传的ppt文件中获取幻灯片数量?

    我们可以从文件的属性中看到文件详细信息 如下图所示 我需要使用 Nodejs 或 Angularjs 以编程方式获得相同的细节 我不认为 Angularjs 可以完成文件操作 是否可以在节点中获取文件的相同信息 我猜 shellsjs 会支
  • ruby 中的三向比较

    确保 ruby 中三个变量全部相等的最简洁方法是什么 例如 dog animal cat animal chicken animal shoe clothing Something like this which doesn t work
  • 创建一个闭包

    我想创建一个闭包 函数生成器 来计算数字的幂 而不使用特定的 Clojure 库来完成此任务 现在 我可以用循环 重复来做到这一点 defn exp1 in num in exp multi loop num in num exp mult
  • 在 Shiny 应用程序中包含一个 javascript 文件

    我需要将 js 库包含到我的 Shiny 应用程序中 目前我使用 includeHTML 将脚本直接包含到 html 代码中 例如 includeHTML URL js 如果我使用tags script 例如 当我尝试浏览js文件时 浏览器
  • 如何将 JointJS 与使用 Angular CLI 构建的应用程序一起使用?

    我已经通过 npm 安装了 jointjs 并安装了 types 并且代码编译 构建良好 Code import Component from angular core import as joint from node modules j
  • 辅音和元音 Swift

    我是 Swift 的新手 谁能向我解释一下为什么我总是遇到这个问题 我正在使用 Xcode 6 4 但这是我的问题 我希望我能解决它 但我需要我的函数接受大字符串 然后返回 Tuple numVowels numConsonants 计算以
  • Virtualenv 没有名为 zlib 的模块

    我正在尝试在 Python2 6 下创建 Python 2 7 虚拟环境 我只是运行 virtualenv python python27 python27 correctly leads to my python installation
  • 仅解压缩特定扩展名

    我有一个包含 jpg png gif 图像的 zip 存档目录 我想解压缩每个存档 仅获取图像并将它们放入具有存档名称的文件夹中 So files archive1 zip files archive2 zip files archive3