tar 解压多个文件
如果有以下文件
则不能用
tar -Jxv -f Layan* -C ~/work
这样的命令进行解压,以下方法仅仅针对这样的情况进行解压
1:包名前几个字符相同
2.包名后缀为tar.gz 或者 tar.xz
c代码如下
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <dirent.h>#define gz "tar -zxv -f "
#define xz "tar -Jxv -f "int main(int argc, char * argv[])
{int i;int perform=0;if(argc != 4){printf("Enter the three argements\n");return 1;}DIR *dir;char tar_command[512];if( ( dir = opendir(".") ) == NULL )perror(argv[0]);struct dirent *readfd;while( ( readfd = readdir(dir) ) ){perform = 0;memset(tar_command, 0, sizeof(tar_command)); for(i=0; i < strlen(argv[2]); i++) //如果前几个字符与输入的参数匹配,那么perform == strlen(argv[2]){if( *(argv[2]+i) == readfd->d_name[i] )perform++;}if(strlen(argv[2]) != perform) //如果字符串匹配,那么执行命令continue;if(!strcmp("gz", argv[1]))strcpy(tar_command, gz);else if(!strcmp("xz", argv[1]))strcpy(tar_command, xz);else{printf("please enter the correct format");return 1;}strcat(tar_command, readfd->d_name); //加入文件名,strcat(tar_command, " -C "); strcat(tar_command, argv[3]); //加入目录名system(tar_command);}return 0;
}
编译gcc test.c
我这里是这样运行的(参考上图):
./a.out xz Layan ~/work
含义: 解压文件名前缀为Layan,后缀为tar.xz的包, 解压到~/work文件夹
tar 解压多个文件相关推荐
- tar 解压出指定文件
tar 解压出指定文件 There is no nutrition in the blog content. After reading it, you will not only suffer fr ...
- 让tar解压到指定文件夹 » Xeno Joshua | Xeno Joshua
让tar解压到指定文件夹 » Xeno Joshua | Xeno Joshua 让tar解压到指定文件夹 » Xeno Joshua | Xeno Joshua 让tar解压到指定文件夹 Linux ...
- tar解压到指定文件夹 2208281732
tar解压到指定文件夹 2208281732 tar解压 tar zxvf 要解压的文件.tar.gz 和 tar -zxvf 要解压的文件.tar.gz 效果一样 z : 用gzip方式, 对应 . ...
- tar 解压出指定文件到指定目录
tar 解压出指定文件到指定目录 There is no nutrition in the blog content. After reading it, you will not only suff ...
- 同时tar解压多个文件
大家都知道,tar 命令只能接受一个文件名作为参数,也就是说 tar 命令本身一次只能解压一个文件.如果某个目录下有很多 .tar.gz 文件,一个一个去解压显然麻烦,能不能一条命令就把它们全解出来? ...
- tar解压单个/部分文件
原文: http://cosmos.blog.sohu.com/72625809.html freebsd下压缩和解压缩的参数很多,现将其中的一些记下来,以备积累. tar -xzvf file.tg ...
- tar 解压指定文件,解压到指定文件夹
使用tar解压指定文件 假设我们想要解开/root/etc.tar.gz压缩文件文件中的etc/shadow文件,命令如下: tar -ztvf /root/etc.tar.gz | grep 'sh ...
- zip和tar解压文件到指定文件夹
1.unzip解压到指定文件夹 unzip *.zip -d path/ 2.tar解压到指定文件夹 tar -zxvf *.tgz -C path/
- python解压gz_使用python请求下载压缩tar.gz文件并使用tar解压它
我需要使用请求调用来下载tar gz文件,我发现requests.get会自动解压缩文件,我尝试使用给定的解决方案 here 但当我试图用tar解压它时,它说它不是gzip格式. 我尝试了以下方法: ...
最新文章
- LSTM之父撰文,纪念这位图灵奖遗珠、“AI理论之父”
- 图解当前最强语言模型BERT:NLP是如何攻克迁移学习的?
- IDEA的常用快捷键
- linux需要检测的系统资源不足,细说Linux 系统优化
- linux之gdb调试常用100个技巧
- Pandas数据可视化工具:图表工具-Seaborn
- 手把手教你用直方图、饼图和条形图做数据分析(Python代码)
- 图解交换机与路由器组网
- rabbitmq添加自启动 centos7环境
- 一、Java语言基础(5)_数组高级——方法参数的值传递机制
- Chladni Figure CodeForces - 1162D (暴力,真香啊~)
- HTML 编辑器推荐
- win10 office2007,excel2007,word2007等每次打开都要配置进度
- 查看电脑CPU是否支持虚拟化
- 【PMP】三点估算结合正态分布图
- python读取grd数据_从等值线图形获取DAT和GRD格式的数据文件_王宜芳
- 2022-3-26JavaSE试卷-答案
- 管理者,最重要的100句话
- Java读取Excel,03版本和07版本
- 稀疏数组的创建与读写文件操作
热门文章
- 西游记团队中需要裁掉一个人,你会裁掉谁
- 【傲腾观察室】英特尔® 傲腾™ 技术如何提升云服务竞争力?
- 烟囱式架构与共享式架构
- ChatGPT加持的AIGC时代,600多个AI工具助力超级个体的崛起
- 地图一些重要常识(持续更新中)(地图资料篇.100)
- SecureCRT 9.1.0安装教程
- linux查看内存是单通道还是双通道,android /linux如何识别S5pv210 双通道不连续的内存?...
- 【2023年全国补贴】ISO三体系、ISO2000/27001最全补贴政策合集!
- STM32HAL库-F4-针对芯片内部FLASH读保护实现防篡改、破解功能(详解)
- gb28181提供的功能