获取由 tar 命令创建的新目录的名称

获取由 tar 命令创建的新目录的名称

如何获取根据tar -xvf命令创建的新目录的名称?

对于前。当我运行命令时

tar -xvf jdk-7u17-linux-x64.tar.gz

此 tar 的内容在名为“jdk1.7.0_17”的新目录中提取,我想将此名称作为上述命令的输出或使用任何脚本获取。

答案1

无法保证 tar 文件中存在或只有一个子目录。

我有一个特殊的脚本来提取 tar 档案,它首先创建一个临时目录,提取该目录中的文件,然后计算该目录中的条目数并

  1. 如果只有一个目录/文件,则将其从临时目录上移
  2. 如果有多个文件/目录,它会根据 .tar 文件的名称(不带扩展名)重命名临时目录。

您可以执行类似的操作,并将以这种方式确定的最新名称存储在表中,以便在其他脚本中进一步参考。

正如@jofel 在评论中指出的那样。我的脚本的功能可以在一个工具还有一组实用程序。存档提取实用程序很好地做到了这一点数据链路

除非我错过了一些东西,否则似乎都无法告诉创建了什么(单个)目录。

相关内容