用shell格式写一个可以自由分卷压缩zip格式的脚本


以下是一个使用 `Shell` 编写的脚本,可以实现自由分卷压缩 `zip` 格式文件: ```bash #!/bin/bash # 检查是否提供了正确的参数 if [ $# -lt 2 ]; then echo "用法: $0 <要压缩的文件/目录> <每个分卷的大小(例如: 100M)>" exit 1 fi file_or_dir=$1 volume_size=$2 # 计算总文件大小 total_size=$(du -sb "$file_or_dir" | awk '{print $1}') # 计算分卷数量 volume_count=$(( (total_size + volume_size - 1) / volume_size )) # 压缩并分卷 zip -s "$volume_size" "$file_or_dir" ``` 使用这个脚本时,需要提供要压缩的文件或目录的路径,以及每个分卷的大小(例如:`100M`、`500K` 等)。 这个脚本在某些系统上可能需要管理员权限来运行。 [2024-10-16 22:46:39 | AI写代码神器 | 236点数解答]
相关提问
- 、将系统中所有的.zip文件名显示出来find –name “*.zip”2、查找你的系统中有多少个.gz的文件,即显示这样的文件数find –name *.gz | wc -l3、 在你的家目录中创建如下内容: 家目录 dir1 dir2 file1 dir11 file3 file2 mkdir –p dir1/dir11 dir2touch dir1/file3 dir2/file2 file14、将家目录下的所有文件(不包括目录)压缩成文件xwq1.zipzip xwq1.zip /home/* 5、将/root/install.log添加到xwq1.zip中zip xwq1.zip /root/install.log6、显示一下xwq1.zip中包含的文件信息unzip –v xwq1.zip7、将xwq1.zip解压至/tmp/unzip-xwq1下(此目录需要先建立)unzip –d /tmp/u(687点数解答 | 2024-11-02 17:27:51)139
- 、将系统中所有的.zip文件名显示出来find –name “*.zip”2、查找你的系统中有多少个.gz的文件,即显示这样的文件数find –name *.gz | wc -l3、 在你的家目录中创建如下内容: 家目录 dir1 dir2 file1 dir11 file3 file2 mkdir –p dir1/dir11 dir2touch dir1/file3 dir2/file2 file14、将家目录下的所有文件(不包括目录)压缩成文件xwq1.zipzip xwq1.zip /home/* 5、将/root/install.log添加到xwq1.zip中zip xwq1.zip /root/install.log6、显示一下xwq1.zip中包含的文件信息unzip –v xwq1.zip7、将xwq1.zip解压至/tmp/unzip-xwq1下(此目录需要先建立)unzip –d /tmp/u(36点数解答 | 2024-11-02 17:44:11)139
- 、将系统中所有的.zip文件名显示出来find –name “*.zip”2、查找你的系统中有多少个.gz的文件,即显示这样的文件数find –name *.gz | wc -l3、 在你的家目录中创建如下内容: 家目录 dir1 dir2 file1 dir11 file3 file2 mkdir –p dir1/dir11 dir2touch dir1/file3 dir2/file2 file14、将家目录下的所有文件(不包括目录)压缩成文件xwq1.zipzip xwq1.zip /home/* 5、将/root/install.log添加到xwq1.zip中zip xwq1.zip /root/install.log6、显示一下xwq1.zip中包含的文件信息unzip –v xwq1.zip7、将xwq1.zip解压至/tmp/unzip-xwq1下(此目录需要先建立)unzip –d /tmp/u(417点数解答 | 2024-11-02 17:44:33)137
- 本题要求实现一个字符串压缩的简单函数。压缩规则是:如果某个字符x连续出现n(n>1)次,则将这n个字符x替换为nx的形式;否则保持不变。 函数接口定义: void zip( char *p ); 函数zip对p指向的字符串进行压缩操作。 裁判测试程序样例: #include <stdio.h> #define maxs 20 void zip( char *p ); void readstring( char *s ); /* 由裁判实现,略去不表 */ int main() { char s[maxs]; readstring(s); zip(s); printf("%s\n", s); return 0; } /* 请在这里填写答案 */ 输入样例: mississippi 输出样例: mi2si2si2pi(360点数解答 | 2024-12-06 09:55:06)219
- 题目(description): 卫星导航系统(如我国自主研发的北斗卫星导航系统)能实时获取位置、速度、时间等时空信息,在交通运输、农林渔业、气象测报、通信授时、救灾减灾、公共安全等领域都得到了广泛应用。 在应用层面,卫星导航系统一般以报文方式进行数据传输,其中$gprmc是常用报文之一,基本的格式如下: $gprmc,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh <1> utc时间,hhmmss.sss(时分秒.毫秒)格式 <2> 定位状态,a=有效定位,v=无效定位 <3> 纬度ddmm.mmmm(度分)格式 <4> 纬度半球n(北半球)或s(南半球) <5> 经度dddmm.mmmm(度分)格式 <6> 经度半球e(东经)或w(西经) <7> 地面速率(000.0~999.9节) <8> 地面航向(000.0~359.9度,以正北为参考基准) <9> utc日期,ddmmyy(日月年)格式 <10> 磁偏角(000.0~180.0度,前面的0也(385点数解答 | 2025-01-08 03:43:54)261
- 题目(description): 卫星导航系统(如我国自主研发的北斗卫星导航系统)能实时获取位置、速度、时间等时空信息,在交通运输、农林渔业、气象测报、通信授时、救灾减灾、公共安全等领域都得到了广泛应用。 在应用层面,卫星导航系统一般以报文方式进行数据传输,其中$gprmc是常用报文之一,基本的格式如下: $gprmc,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh <1> utc时间,hhmmss.sss(时分秒.毫秒)格式 <2> 定位状态,a=有效定位,v=无效定位 <3> 纬度ddmm.mmmm(度分)格式 <4> 纬度半球n(北半球)或s(南半球) <5> 经度dddmm.mmmm(度分)格式 <6> 经度半球e(东经)或w(西经) <7> 地面速率(000.0~999.9节) <8> 地面航向(000.0~359.9度,以正北为参考基准) <9> utc日期,ddmmyy(日月年)格式 <10> 磁偏角(000.0~180.0度,前面的0也(346点数解答 | 2025-01-08 03:46:29)258
- import subprocess def unlock_bootloader(device_id): try: subprocess.run(f"fastboot -s {device_id} flashing unlock", check=True, shell=True) return True except subprocess.CalledProcessError: return False def flash_recovery(device_id, recovery_img): subprocess.run(f"fastboot -s {device_id} flash recovery {recovery_img}", shell=True)(345点数解答 | 2025-02-21 22:47:48)109
- 一个 5×6 的迷宫样例如下: 要求给出从起点(1,1)到终点(3,4)的路径。 为了处理方便,保证最外圈全都为障碍物。 扩展到一般情况,一个 m×n 的迷宫,要求输出从起点(1,1)到终点(m-2,n-2)的路径。 测试实例保证路径是唯一的。 该题要求自行设计一个栈来做。如果设计的是顺序栈,则保证栈的大小不超过 200 个元素。 输入 第一行为两个整数 m 和 n,表示 m×n 的迷宫。 接下来有 m 行,每行有 n 个数(n 个数之间用空格间隔,值 = 0 表示可以通行,值 = 1 表示为障碍物) 输出 输出从起点到终点的路径,每个坐标占一行,坐标间的行号和列号用一个空格间隔。具体格式可参考样例。c++ 源代码(732点数解答 | 2024-11-03 02:34:53)307
- 在ios开发中,ios 希尔(shell)排序实现 ?(502点数解答 | 2023-11-09 17:45:42)170
- 作为dba,如何通过 shell 登入 mysql?(242点数解答 | 2023-11-09 17:59:47)192
- shell 编程之循环语句与函数、数组介绍下(1130点数解答 | 2024-06-02 11:38:02)158
- .版本 2 .支持库 EDataStructure .支持库 shell .支持库 iext .支持库 spec .支持库 eAPI .程序集 窗口程序集_主窗口 .程序集变量 集_时间_年, 整数型 .程序集变量 集_时间_月, 整数型 .程序集变量 集_时间_日, 整数型 .程序集变量 集_时间_时, 整数型 .程序集变量 集_时间_分, 整数型 .程序集变量 集_节点, 节点 .程序集变量 微信收款助手_线程句柄, 整数型 .子程序 _主窗口_创建完毕 大恩_窗口_阴影 (主窗口.取窗口句柄 (), #天蓝, 5) 华侨_加载皮肤_蓝色描边 () 集_时间_年 = 取年份 (取现行时间 ()) 集_时间_月 = 取月份 (取现行时间 ()) 集_时间_日 = 取日 (取现行时间 ()) 集_时间_时 = 取小时 (取现行时间 ()) 集_时间_分 = 取分钟 (取现行时间 ()) YPay网址框.内容 = 读配置项 (取特定目录 (8) + “\无名码支付_微信监控_配置文件.ini”, “YPay”, “url”, “填写码支付地址(例如:https://pay.ufop(282点数解答 | 2025-04-11 00:32:28)98