列出并删除档案中的目录

问题描述:

我想知道如何列出档案文件中的内容并从中删除一些目录?列出并删除档案中的目录

例如,我有一个档案文件data.tar

  1. 我想在不提取它的情况下列出它的内容。是否有可能控制查看目录的级别?我的意思是不一定每个文件,但只是到了一定程度的路径。

  2. 我也想从中删除一些匹配"*/count1000"的目录。

看到tar文件的内容,

tar tvf mytar.tar 

提取文件,

tar xvf mytar.tar myfile.txt 

删除文件

tar -f mytar.tar --delete */count1000 
+0

如何从中删除一些目录匹配 “*/count1000”。 – Tim 2010-04-23 15:38:46

+0

是否可以控制查看的目录级别?我的意思是不一定每个文件,但只是到了一定程度的路径。 Thyanks – Tim 2010-04-23 15:43:08

可以剥除第一个路径组件:

cat myarchive.tar.gz | tar -tzf - | grep --only-matching -e "/.*" 

您可以剥去第二路径组件:

cat myarchive.tar.gz | tar -tzf - | grep --only-matching -e "/.*/.*"