在shell脚本中,如何在解压文件后获取文件名
我有一个tar文件“test.tar.gz”。现在我想在“test.tar.gz”解压后得到名称“test”。在shell脚本中,如何得到它。要从文件名中去掉扩展名,请使用在shell脚本中,如何在解压文件后获取文件名,shell,Shell,我有一个tar文件“test.tar.gz”。现在我想在“test.tar.gz”解压后得到名称“test”。在shell脚本中,如何得到它。要从文件名中去掉扩展名,请使用basename: basename test.tar.gz .tar.gz 打印test 但这只是存档的基本名称。它并不总是由tar创建的任何文件或目录的名称。tar存档可以包含任何文件名。如果需要,请使用tar tf列出存档的内容。要从文件名中删除扩展名,请使用basename: basename test.tar.gz
basename
:
basename test.tar.gz .tar.gz
打印test
但这只是存档的基本名称。它并不总是由
tar
创建的任何文件或目录的名称。tar存档可以包含任何文件名。如果需要,请使用tar tf
列出存档的内容。要从文件名中删除扩展名,请使用basename
:
basename test.tar.gz .tar.gz
打印test
但这只是存档的基本名称。它并不总是由tar
创建的任何文件或目录的名称。tar存档可以包含任何文件名。如果需要,请使用tar tf
列出存档的内容。使用类似于:
file="test.tar.gz"
tarfilename=${file%.tar.gz}
阅读有关它的信息manbash
搜索变量扩展。使用类似以下的方法:
file="test.tar.gz"
tarfilename=${file%.tar.gz}
阅读有关它的
manbash
搜索变量扩展。应该是${file%.tar.gz}
在“tar”前面加一个点应该是${file%.tar.gz}
在“tar”前面加一个点