gpt4 book ai didi

linux - 从名称中包含版本的文件夹下载、提取和复制文件

转载 作者:太空宇宙 更新时间:2023-11-04 12:32:34 24 4
gpt4 key购买 nike

我正在编写一个 bash 脚本,它从通用 URL(其中将自动显示软件的新版本)下载压缩存档,将其解压缩并将名为 wimboot 的文件复制到文件夹。

这是我目前拥有的:

sudo curl http://git.ipxe.org/releases/wimboot/wimboot-latest.tar.gz -o ./wimboot.tar.gz

sudo tar -zxvf ./wimboot.tar.gz #Extracts into a folder called "wimboot-2.5.2-signed", in it is the file I need ("wimboot").
cd ./wimboot*/
sudo cp wimboot /my-folder/

但这行不通。有什么方法可以让我这样做吗?

最佳答案

您可以向 tar 询问文件列表(-t 选项),然后您可以用 grep 获取 wimboot -- 这应该给你也是文件的相对路径。天真的第一次尝试是这样的:

src_file=$(tar tf wimboot.tar.gz | grep wimboot)
cp "$src_file" my_folder/

但是您可能想要添加一些错误检查和内容。可能还有一个更复杂的 grep 表达式,以确保您得到想要的东西。

也无需提取整个文件。您可以只要求 tar 提取您感兴趣的文件:

tar zxf wimboot.tar.gz "$src_file"

关于linux - 从名称中包含版本的文件夹下载、提取和复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42903822/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com