linux批量解压zip

方法一

1,创建unzip.sh

复制代码
#!/bin/bash

while read line
do
unzip $line

done < filelist.txt

#!/bin/bash

while read line
do
    unzip "$line" >& log &
done < filelist.txt
  1. 在终端中执行以下命令

$ 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' -d T85_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
  1. 其中,remaining.zip是尚未解压的ZIP文件的名称,extracted是你的目标解压目录。

  2. 如果你中断解压时使用了unzip-n选项,它将尝试防止覆盖已存在的文件。但如果之前的解压已经创建了部分文件,新的解压可能会导致文件冲突。你可能需要手动解决这些冲突。

  3. 最好的做法是在解压之前备份原始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/bash

while read -r line
do
  unzip -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 &

相关推荐
yuanmenghao18 分钟前
Linux 性能实战 | 第 7 篇 CPU 核心负载与调度器概念
linux·网络·性能优化·unix
qq_2975746731 分钟前
Linux 服务器 Java 开发环境搭建保姆级教程
java·linux·服务器
70asunflower1 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
聆风吟º1 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
神梦流1 小时前
ops-math 算子库的扩展能力:高精度与复数运算的硬件映射策略
服务器·数据库
NPE~2 小时前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化
神梦流2 小时前
GE 引擎的内存优化终局:静态生命周期分析指导下的内存分配与复用策略
linux·运维·服务器
凡人叶枫2 小时前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++
wdfk_prog2 小时前
[Linux]学习笔记系列 -- [drivers][input]serio
linux·笔记·学习
xuhe22 小时前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr