gpt4 book ai didi

linux - 如何找到各个子文件夹中的所有 tar 文件,然后将它们解压缩到找到它们的同一文件夹中?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:23:04 25 4
gpt4 key购买 nike

我有很多子文件夹,只有一些包含一个 tar 文件。即:

folder1/
folder2/this-is-a.tar
folder3/
folder4/this-is-another.tar

我可以通过简单地执行 ls */*.tar 找到哪些目录有 tar。

我想要实现的是以某种方式找到所有 .tar 文件,然后将它们解压缩到找到的同一目录中,然后删除 .tars。

我试过 ls */*.tar | xargs -n1 tar xvf 但这会将 tars 提取到我所在的目录中,而不是找到 tars 的目录中。

如有任何帮助,我们将不胜感激。

最佳答案

for i in */*.tar ; do pushd `dirname $i` ; tar xf `basename $i` && rm `basename $i` ; popd ; done

编辑:这可能是更好的方法:

find . -type f -iname "*.tar" -print0 -execdir tar xf {} \; -delete

关于linux - 如何找到各个子文件夹中的所有 tar 文件,然后将它们解压缩到找到它们的同一文件夹中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29279197/

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