首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >,并在工作目录中解压缩并维护其结构。

,并在工作目录中解压缩并维护其结构。
EN

Unix & Linux用户
提问于 2022-02-23 06:32:15
回答 1查看 192关注 0票数 0

用这个命令

代码语言:javascript
运行
复制
find . -name '*.zip' -exec unzip '{}' ';'

(目录),然后将它们解压缩到当前的工作目录中,但是,结构就没有了。

代码语言:javascript
运行
复制
/backUp/pic1/1-1.zip
/backUp/pic1/1-2.zip
/backUp/pic2/2-1.zip
/backUp/pic2/2-2.zip
/backUp/pic3/3-1.zip
/backUp/pic3/3-2.zip
/backUp/pic3/3-3.zip

Current command result:
/new/1-1
/new/1-2
/new/2-1
/new/2-2
/new/3-1
/new/3-2
/new/3-3





desired  result  
/new/pic1/1-1 
/new/pic1/1-2 
/new/pic2/2-1
/new/pic2/2-2
/new/pic3/3-1
/new/pic3/3-2
/new/pic3/3-3

在这里被问到,但是代码没有计算出在这个命令中,应该使用什么名字和basename?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2022-02-23 06:36:30

您可以将find-execdir参数一起使用,而不是-exec

-execdir将在它找到文件的目录中运行命令,而不是当前的工作目录。

示例:

find . -name '*.zip' -execdir unzip {} \;

虽然这并不是您所要求的,但是您可以添加几个步骤来获得所需的结果:

代码语言:javascript
运行
复制
mkdir new
cp -a backUP/* new/
#run unzip operation
cd new
find . -name '*.zip' -execdir unzip {} \;
#remove all .zip files
find . -name '*.zip' -exec rm {} \;
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/691841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档