如果有以下文件

则不能用

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 解压多个文件相关推荐

  1. tar 解压出指定文件

    tar 解压出指定文件 There is no nutrition in the blog content. After reading it, you will not only suffer fr ...

  2. 让tar解压到指定文件夹 » Xeno Joshua | Xeno Joshua

    让tar解压到指定文件夹 » Xeno Joshua | Xeno Joshua 让tar解压到指定文件夹 » Xeno Joshua | Xeno Joshua 让tar解压到指定文件夹 Linux ...

  3. tar解压到指定文件夹 2208281732

    tar解压到指定文件夹 2208281732 tar解压 tar zxvf 要解压的文件.tar.gz 和 tar -zxvf 要解压的文件.tar.gz 效果一样 z : 用gzip方式, 对应 . ...

  4. tar 解压出指定文件到指定目录

    tar 解压出指定文件到指定目录 There is no nutrition in the blog content. After reading it, you will not only suff ...

  5. 同时tar解压多个文件

    大家都知道,tar 命令只能接受一个文件名作为参数,也就是说 tar 命令本身一次只能解压一个文件.如果某个目录下有很多 .tar.gz 文件,一个一个去解压显然麻烦,能不能一条命令就把它们全解出来? ...

  6. tar解压单个/部分文件

    原文: http://cosmos.blog.sohu.com/72625809.html freebsd下压缩和解压缩的参数很多,现将其中的一些记下来,以备积累. tar -xzvf file.tg ...

  7. tar 解压指定文件,解压到指定文件夹

    使用tar解压指定文件 假设我们想要解开/root/etc.tar.gz压缩文件文件中的etc/shadow文件,命令如下: tar -ztvf /root/etc.tar.gz | grep 'sh ...

  8. zip和tar解压文件到指定文件夹

    1.unzip解压到指定文件夹 unzip *.zip -d path/ 2.tar解压到指定文件夹 tar -zxvf *.tgz -C path/

  9. python解压gz_使用python请求下载压缩tar.gz文件并使用tar解压它

    我需要使用请求调用来下载tar gz文件,我发现requests.get会自动解压缩文件,我尝试使用给定的解决方案 here 但当我试图用tar解压它时,它说它不是gzip格式. 我尝试了以下方法: ...

最新文章

  1. LSTM之父撰文,纪念这位图灵奖遗珠、“AI理论之父”
  2. 图解当前最强语言模型BERT:NLP是如何攻克迁移学习的?
  3. IDEA的常用快捷键
  4. linux需要检测的系统资源不足,细说Linux 系统优化
  5. linux之gdb调试常用100个技巧
  6. Pandas数据可视化工具:图表工具-Seaborn
  7. 手把手教你用直方图、饼图和条形图做数据分析(Python代码)
  8. 图解交换机与路由器组网
  9. rabbitmq添加自启动 centos7环境
  10. 一、Java语言基础(5)_数组高级——方法参数的值传递机制
  11. Chladni Figure CodeForces - 1162D (暴力,真香啊~)
  12. HTML 编辑器推荐
  13. win10 office2007,excel2007,word2007等每次打开都要配置进度
  14. 查看电脑CPU是否支持虚拟化
  15. 【PMP】三点估算结合正态分布图
  16. python读取grd数据_从等值线图形获取DAT和GRD格式的数据文件_王宜芳
  17. 2022-3-26JavaSE试卷-答案
  18. 管理者,最重要的100句话
  19. Java读取Excel,03版本和07版本
  20. 稀疏数组的创建与读写文件操作

热门文章

  1. 西游记团队中需要裁掉一个人,你会裁掉谁
  2. 【傲腾观察室】英特尔® 傲腾™ 技术如何提升云服务竞争力?
  3. 烟囱式架构与共享式架构
  4. ChatGPT加持的AIGC时代,600多个AI工具助力超级个体的崛起
  5. 地图一些重要常识(持续更新中)(地图资料篇.100)
  6. SecureCRT 9.1.0安装教程
  7. linux查看内存是单通道还是双通道,android /linux如何识别S5pv210 双通道不连续的内存?...
  8. 【2023年全国补贴】ISO三体系、ISO2000/27001最全补贴政策合集!
  9. STM32HAL库-F4-针对芯片内部FLASH读保护实现防篡改、破解功能(详解)
  10. gb28181提供的功能