免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4575 | 回复: 7
打印 上一主题 下一主题

求助:怎样取得解压缩后的文件名(在线等) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-20 20:11 |只看该作者 |倒序浏览
有一个压缩文件list
内容如下
     aaa.bbb.cc.gz
        dd.gz
        eee.tar.gz

怎么样用最简单的命令把它们解压缩之后的文件名都取出来?
结果输出为
      aaa.bbb.cc
         dd
         eee.tar

论坛徽章:
0
2 [报告]
发表于 2008-04-20 21:03 |只看该作者
tar -tvf list.tar

论坛徽章:
0
3 [报告]
发表于 2008-04-20 21:04 |只看该作者
没有人理……
再补充点内容:
    我要做的是先对压缩文件解压缩,
    然后再对解压缩后的文件进行操作,
    可是没有想到解压缩后的文件的文件名不好取…

    本来还有另外一种解决办法,就是在解压缩的时候就把他解压缩到指定文件里
    可是查了一下解压缩的参数,-c可以指定输出文件,但是保持源文件不变。
    因为我们要处理的文件都太大了,这样的话,系统地空间就有点危险…
    所以要是有什么可以指定解压缩后的文件名,也可以啊。。。。

help~~~

论坛徽章:
0
4 [报告]
发表于 2008-04-20 22:04 |只看该作者
如果你的压缩文件名存放在变量var里,那么
filename=${var%.*} 就是去掉.gz的结果

论坛徽章:
0
5 [报告]
发表于 2008-04-20 22:11 |只看该作者
原帖由 jinl 于 2008-4-20 22:04 发表
如果你的压缩文件名存放在变量var里,那么
filename=${var%.*} 就是去掉.gz的结果



谢谢楼上的回答
不过不好意思,我是csh外行,
具体是要怎么应用啊??

论坛徽章:
0
6 [报告]
发表于 2008-04-21 11:37 |只看该作者
你的压缩文件是什么格式啊?
tar吗?
tar应该不是压缩吧,只是打包。
如果是tar的话,你可以先使用tar tvf xxx.tar获得输出,然后格式化得到文件名
最后再对这些文件进行处理。

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
7 [报告]
发表于 2008-04-21 11:56 |只看该作者
  1. [waker@proxy ~]$ echo $0
  2. csh
  3. [waker@proxy ~]$ set var=aaa.bbb.cc.gz
  4. [waker@proxy ~]$ echo ${var:r}
  5. aaa.bbb.cc
  6. [waker@proxy ~]$
复制代码

论坛徽章:
0
8 [报告]
发表于 2008-04-22 23:28 |只看该作者
waker    (孩儿他爹?)

多谢了
就是这个~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP