我有一个压缩文件,例如myArchive123.tar.gz
。它里面包含一个文件夹helloWorld
如果我解压缩它:tar -xf myArchive123.tar.gz
我得到该helloWorld
文件夹:
ls
myArchive123.tar.gz
helloWorld
我希望输出与文件名减去.tar.gz扩展名相同。即:
tar <magic paramaters> myArchive123.tar.gz
ls
myArchive123.tar.gz
myArchive123
cd myArchive123
ls
helloWorld
能做到吗?
- 我永远不知道档案里面有什么。可能是文件夹,可能是许多文件。
- 如果tar无法做到,我可以使用其他工具。
- 可以将更长的表格转换成脚本就可以了
编辑
同时,我入侵了一个似乎可以完成工作的脚本。(请参见下面我发布的答案)。如果可以改善,请随时发表评论/其他答案。最主要的是,它应可包装成单线包装,例如:
extract <file>
1
存档中是否总是只包含一个文件夹?
—
Mark Plotnick
我不知道提取时里面有什么。这也不应该取决于存档中的内容。如果是文件夹,则将其中的文件夹解压缩。如果是文件,则解压缩所有文件。
—
Leo Ufimtsev
同时,我整理了一个脚本(见下文)。我只能在两天内接受答案。
—
Leo Ufimtsev
归档文件是否会在顶层包含多个文件夹?
—
Mark Plotnick