linux批量解压zip
方法一
1,创建unzip.sh
#!/bin/bashwhile read line
do
unzip $linedone < filelist.txt
#!/bin/bashwhile read line
dounzip "$line" >& log &
done < filelist.txt
3. 在终端中执行以下命令
$ chmod +x unzip.sh
$ ./unzip.sh
这样就可以批量解压缩filelist.txt中列出的所有文件了。
unzip test.zip -d /home/test_folder/
该命令将将test.zip中的所有文件和子目录解压缩到/home/test_folder/中。
方法二
nohup unzip -n '*.zip' -d T85_SAFE >& unzip.log &
-
nohup:这是一个Linux命令,它用于在后台运行其他命令,并且可以使命令在终端关闭后继续运行,不会受到终端会话的影响。 -
unzip -n '*.zip' -dT85_SAFE :这是你要在后台运行的实际命令。它解压位于当前目录下的所有ZIP文件,而-n选项表示不覆盖已存在的文件, -d 在子目录下面。 -
>& unzip.log:这部分将标准输出和标准错误都重定向到一个名为unzip.log的文件中。这意味着命令的输出和错误信息都会写入到unzip.log文件中,以便稍后查看。 -
&:这是一个放在命令末尾的符号,表示将命令放入后台运行,以便你可以继续在终端中执行其他操作,而不会等待命令执行完毕。
综合起来,这个命令的目的是在后台运行unzip命令来解压ZIP文件,同时将输出和错误信息保存到名为unzip.log的文件中,而不会影响终端的使用。
nohup unzip -n '*.zip' -d extracted > unzip.log 2>&1 &
这将使用>符号将标准输出(stdout)重定向到unzip.log文件,并使用2>&1将标准错误(stderr)也重定向到unzip.log文件,以便将输出和错误信息都保存到同一个日志文件中。
这样做后,你可以查看unzip.log文件以查看unzip命令的输出和错误信息。
如果中断,继续解压剩下的
unzip -n remaining.zip -d extracted
-
其中,
remaining.zip是尚未解压的ZIP文件的名称,extracted是你的目标解压目录。 -
如果你中断解压时使用了
unzip的-n选项,它将尝试防止覆盖已存在的文件。但如果之前的解压已经创建了部分文件,新的解压可能会导致文件冲突。你可能需要手动解决这些冲突。 -
最好的做法是在解压之前备份原始ZIP文件,以便在出现问题时可以回滚到原始状态。
请注意,尽管你可以尝试继续解压中断的ZIP文件,但这并不保证解压后的文件一定是完好无损的。如果你中断解压时文件已经受损,可能需要重新下载或从备份中恢复文件。
方法三
nohup sh -c 'while read -r line; do unzip -n "$line" -d extracted; done < testlist' > unzip.log 2>&1 &
这个命令将从testlist文件中逐行读取ZIP文件的列表,然后使用unzip命令逐个解压文件。输出和错误信息将重定向到名为unzip.log的文件,而整个命令将在后台运行。
#!/bin/bashwhile read -r line
dounzip -n "$line" -d extracted >> unzip.log 2>&1 &
done < filelist.txt
find extracted -type f -name "*vh*" -exec rm {} \;
这个命令将在名为extracted的目录中查找文件名包含"vh"的多个文件,并删除它们,同时保留文件夹。确保将 extracted 替换为实际的解压目录名称。
这将批量删除包含"vh"的多个文件,但保留文件夹。请小心使用这个命令,确保你真正希望删除的文件名包含"vh",并且确保你备份了重要文件。删除文件是不可逆操作,无法恢复。
方法四
vim unzip.csh
#!/bin/csh
foreach line (`cat filelist`)
foreach? unzip $line
foreach? end
chmod +x unzip.csh
nohup ./unzip.csh >& unzip.log &
相关文章:
linux批量解压zip
方法一 1,创建unzip.sh #!/bin/bashwhile read line do unzip $linedone < filelist.txt #!/bin/bashwhile read line dounzip "$line" >& log & done < filelist.txt3. 在终端中执行以下命令 $ chmod x unzip.sh $ ./unzip.sh 这…...
HBase导出建表语句
HBase导出建表语句 HBase是一个面向大数据的分布式列存数据库,它以Hadoop作为底层存储和计算平台。在HBase中,数据以表的形式存储,每个表由行和列组成。本文将介绍如何使用HBase导出建表语句,并提供相应的代码示例。 HBase建表语…...
Linux环境配置(云服务器)
目录 1.第一步:购买云服务器 2.第二步:下载Xshell 7 3.第三步:打开Xshell,登录云服务器 4.第四步:更加便捷的云服务器登录方式 1.第一步:购买云服务器 (推荐:阿里云、华为云、腾…...
【性能测试】Linux下Docker安装与docker-compose管理容器(超细整理)
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、Linux下Docker…...
陪玩2.0升级版源码/价值18500元的最新商业版游戏陪玩语音聊天系统源码
陪玩2.0升级版源码,价值18500元的最新商业版游戏陪玩语音聊天系统源码。 修复部分逻辑以及bug 修复bug:店员拒单后,退款会退到店员账号里而不是用户账户里。 修复bug:客户在盲盒下单后,马上取消了订单,但…...
读程序员的制胜技笔记08_死磕优化(上)
1. 过早的优化是万恶之源 1.1. 著名的计算机科学家高德纳(Donald Knuth)的一句名言 1.2. 原话是:“对于约97%的微小优化点,我们应该忽略它们:过早的优化是万恶之源。而对于剩下的关键的3%,我们则不能放弃优化的机会。” 2. 过早…...
【gltf-pipeline】安装gltf-pipeline 进行文件格式转换
问题 想使用gltf-pipeline进行gltf和glb格式转换。简单记录一下安装过程。 解决 1、安装Node.js Node.js下载路径:https://nodejs.org/en 建议默认设置安装。 添加系统环境变量: 测试安装是否成功: 在cmd.exe中运行: no…...
Android OpenGL ES踩坑记录
因为项目中的一个自定义绘图控件性能不行,改用OpenGL实现,也是第一次使用OpenGL,由于只是绘制2D图形,参考官方以及网上的教程,实现起来还是比较顺畅的,开发时只用了两个手机测试,运行良好&#…...
Vue3 项目完整配置
目录 一、配置简述二、创建项目1、使用包管理工具 pnpm2、新增目录 三、配置 ESLint1、添加代码2、修改 VSCode 配置 四、husky 工具配置五、暂存区 eslint 校验六、axios 配置1、安装创建2、测试 七、导入 Element Plus八、Pinia 持久化实现九、其他导入 .scss 文件需要安装 s…...
二十三种设计模式全面解析-从线程安全到创新应用:探索享元模式的进阶之路
在软件开发领域,线程安全和设计模式都是我们经常遇到的话题。线程安全保证了多线程环境下的数据一致性和可靠性,而设计模式则提供了一套经验丰富的解决方案。在前文中,我们已经了解了线程安全的处理和享元模式的基本概念。但是,如…...
Qt之qobject_cast使用
描述 qobject_cast是Qt中的一个转换函数,主要用于在QObject子类之间进行转换,实现父类指针向子类指针的转换。其语法为: qobject_cast<T>(object);其中,T表示目标类型,object表示要转换的QObject对象指针。 q…...
如何实现云端开发能力快速提升?【DevRun】云上开发创新实践带你实现
随着企业数字化的转型趋势,软件成为数字化转型的关键驱动力,在云计算越来越普及且作用愈发重要的今天,现代应用正以难以想象的速度在增长,同时对软件开发工具提出了新的要求。 华为云CodeArts作为一站式云上开发创新工具…...
猫头虎博主第7期赠书活动:《计算机考研精炼1000题》
🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...
Linux常见指令:从基础到理论
前言 目录 前言 1. find指令 拓展 2. grep指令 拓展 sort指令 uniq指令 wc指令 3. zip/unzip指令 4. tar指令 5. uname指令 拓展 6. Linux常用热键 7. 关机 8. rz指令 拓展 scp指令 9. shell命令以及运行原理 Linux常见指令是使用Linux系统时必不可少的一部分。通过掌握…...
ARM---CAN2.0B读取 汽车BMS报文
Qt CAN编程1- CAN总线整体介绍 - 简书 STM32---CAN2.0B读取新能源汽车BMS报文-CSDN博客 CAN通信标准帧和扩展帧介绍_can扩展帧-CSDN博客 【精选】详解CAN 2.0协议_can2.0-CSDN博客 QT实现CAN通信_五个板栗的技术博客_51CTO博客 linux CAN通讯基于Qt代码编写_pf_can-CSDN博客…...
第十一章 JSP开发模型
文章目录 一. 单选题(共5题,50分)二. 判断题(共5题,50分) 一. 单选题(共5题,50分) (单选题) JSPModel2开发的系统中,实现视图的是() A…...
Java面试题-Redis-第四天(线程模型一)
目录 一、Redis为何选择单线程? 二、Redis真的是单线程吗? 三、Redis6.0为何引入多线程 四、Redis6.0引入多线程之后,性能的提升效果如何? 一、Redis为何选择单线程? 通常对于一个数据库来说,CPU通常不…...
逐次变分模态分解(Sequential Variational Mode Decomposition,SVMD)(附代码)
代码原理 逐次变分模态分解(Sequential Variational Mode Decomposition,SVMD)是一种用于信号处理和数据分析的方法。它可以将复杂的信号分解为一系列模态函数,每个模态函数代表了信号中的一个特定频率成分。SVMD的主要目标是提取…...
Spring Boot(一)
Spring Boot是一个开源的Java框架,旨在简化基于Java的应用程序的开发和部署过程。它提供了许多开箱即用的功能和工具,使开发者能够快速构建独立、可执行的、生产级别的应用程序。 以下是Spring Boot的一些主要特点和优势: 简化的配置&#x…...
秩为1的矩阵的性质
...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
R 语言科研绘图第 55 期 --- 网络图-聚类
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...
前端中slice和splic的区别
1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...
智能职业发展系统:AI驱动的职业规划平台技术解析
智能职业发展系统:AI驱动的职业规划平台技术解析 引言:数字时代的职业革命 在当今瞬息万变的就业市场中,传统的职业规划方法已无法满足个人和企业的需求。据统计,全球每年有超过2亿人面临职业转型困境,而企业也因此遭…...
