gpt4 book ai didi

linux - 根据文件类型选择文件提取方法 - tar.bz2、tar.gz、tar.xz

转载 作者:太空宇宙 更新时间:2023-11-04 03:47:00 26 4
gpt4 key购买 nike

我有一个小型的 bash 单行代码,可以从各种来源下载存档列表。以下是包含该列表的文件示例:

http://this-is-url1/url1.tar.gz
http://www.this-is-url2/url2.tar.bz2
http://this-is-url3/url3.tar.bz2
http://this-is-url4/url4.tar.gz
http://this-is-the-last-url/url.tar.xz

我使用以下方式下载文件:

for i in `cat d_list.txt`; do wget $i; done

其中“d_list”是上面文本文件的名称。现在,我也想使用同一个文件来提取文件。为了提取文件名,我使用了带参数扩展的 bash,如下所示:

for i in `cat d_list.txt`; do echo "${i##*/}" ; done

但是正如您所看到的,文件压缩类型是不同的。我已经安装了 bzip2xz-tools 等,所以我的问题是如何为每个文件选择正确的提取方法?

注意:我猜测,一种方法是提取最后一个字符串(可能是 xzbz2gz),然后使用 if-condition 进行比较,然后选择最适合字符串匹配的提取方法。这是正确的还是有更简单的方法来实现这一点?

最佳答案

您可以使用此脚本:

while read -r f; do
wget "$f" -O "${f##*/}"
done < d_list.txt

关于linux - 根据文件类型选择文件提取方法 - tar.bz2、tar.gz、tar.xz,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27843817/

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