【问题标题】:List and Remove directories in an archive列出和删除存档中的目录
【发布时间】:2010-04-23 15:32:36
【问题描述】:

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

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

  1. 我想在不提取的情况下列出其内容。是否可以控制查看目录的级别?我的意思不一定是每个文件,而只是到路径的某个级别。

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

【问题讨论】:

    标签: bash archive


    【解决方案1】:

    查看 tar 文件的内容,

    tar tvf mytar.tar
    

    提取文件,

    tar xvf mytar.tar myfile.txt
    

    删除文件

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

    【讨论】:

    • 如何删除一些匹配“*/count1000”的目录。
    • 是否可以控制查看目录的级别?我的意思不一定是每个文件,而只是到路径的某个级别。谢恩克斯
    【解决方案2】:

    您可以使用以下命令剥离第一个路径组件:

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

    您可以使用以下方法剥离第二个路径组件:

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

    等等

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-08
      • 1970-01-01
      • 1970-01-01
      • 2019-10-20
      • 1970-01-01
      • 2015-04-14
      • 2023-04-03
      • 1970-01-01
      相关资源
      最近更新 更多