命令以获取压缩文件中的最高目录名称

模式

文件名如下所示,但是当目录为时tar xvf v0.21.1.tar.gz目录为libgit2-0.21-1 ,因此如何使用单线获取目录名(如果存在两个以上目录,则会报告错误):

tar tvf v0.21.1.tar.gz | head
drwxrwxr-x root/root         0 2014-08-05 08:09 libgit2-0.21.1/
-rw-rw-r-- root/root      1169 2014-08-05 08:09 libgit2-0.21.1/.HEADER
-rw-rw-r-- root/root        22 2014-08-05 08:09 libgit2-0.21.1/.gitattributes
-rw-rw-r-- root/root       321 2014-08-05 08:09 libgit2-0.21.1/.gitignore
-rw-rw-r-- root/root      1246 2014-08-05 08:09 libgit2-0.21.1/.mailmap

我对此有一个解决方案,但显然这不是最好的解决方案(我还必须检查顶部是否有多个目录):

mkdir libgit2 && tar xvf v0.21.1.tar.gz -C libgit2 --strip-components 1
莱昂·克雷默(Leon Kramer)

使用tarball作为命令行参数执行以下脚本

#!/bin/bash

DIR=$(tar tvf ${1} | egrep -o "[^ ]+/$")

if [ $(echo ${DIR} | egrep -o " " | wc -l) -eq 0 ]; then
    echo ${DIR};
else
    echo "ERROR: multiple directories in tarball base"
    exit 1
fi

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何仅获取特定文件的父目录名称

在Java中获取目录名称

获取Golang中给定文件路径的目录名称(不是路径)

在Node.js中获取父目录名称

如何压缩文件而不在zip目录中创建目录?

如何获取每个文件的目录名称?

在目录中以目录名称格式YYYY-MM-DD获取扩展名为.JPG的文件

如何在grails中获取基础项目目录名称?

如何在Gatsby中获取Markdown文件的目录名称?

获取Ansible中的Caller Playbook目录名称

如何获取目录树中具有特定文件扩展名的每个文件的目录名称?

从压缩文件中获取原始文件名

如何从Windows批处理脚本中的文件路径获取父目录名称?

从批次中的数组获取目录名称

在awk中获取FILENAME以获取多个压缩文件

压缩文件夹名称中没有包含目录的文件夹(tar)

CDPATH中cd命令的“备用目录名称”是什么?

如何从命令行将特定文件和目录压缩到一个压缩文件夹中?

如何使用Gradle获取文件和目录名称?

shell命令“ basename”获取路径中的最后目录名称的“ ant”等效项是什么

如何在perforce文件路径中获取第二个目录名称?

如何从Linux中的特定目录压缩文件?

如何获取我运行命令的目录名称

如何在FOR循环内的Windows命令提示符中获取当前目录名称?

在通过 find 命令获取的压缩文件上使用 awk

在 htaccess 中获取当前目录名称并防止重定向

如何仅使用 ls 命令获取目录名称?

使用python中的命令在windows中压缩文件

Powershell - 获取上次修改文件的父目录名称