gpt4 book ai didi

linux - find -exec 解压缩多个 .zip 文件,每个文件都放入自己的源目录和目标目录中

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:25:52 27 4
gpt4 key购买 nike

我有一个目录,每天都会放置新的 .zip 文件。我需要在最后一天内找到新文件,并将每个文件解压缩到不同位置的各自目录中。我通过大量搜索发现的几乎对我有用。

find /source1/source2/source3 -maxdepth 1 -type f -mtime -1 \
-exec sh -c 'unzip -d /dest1/dest2/"${1%.*}" "$1"' _ {}

上面一行的问题是它试图创建的目标目录是 /dest1/dest2/source1/source2/source3/(dir 是 zip 的文件名)/{unzipped files} 我需要它只是 /dest1/dest2/{filename}

有没有办法从 ${1%.*} 变量中去除源目录?或者,如果有更好的方法来完成这项工作,我愿意接受任何建议。

最佳答案

您可以使用basename 去除源目录。只需将 "${1%.*}" 替换为 $(basename "${1%.*}")

关于linux - find -exec 解压缩多个 .zip 文件,每个文件都放入自己的源目录和目标目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35209331/

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