开发者社区> 问答> 正文

find命令中-exec 选项中的 + 符号怎么理解呢?

已解决

find命令中-exec 选项中的 + 符号怎么理解呢?

展开
收起
格格的阿里云 2022-04-02 01:29:18 369 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    创建 Gzip 格式的压缩文件的命令为:tar -czvf filename.tar.gz

    现在假设需要将用户主目录下所有的 MP3 文件添加到压缩包 music.tar.gz 中,直观的感觉是,其命令应为如下形式: find ~ -type f -name '*.mp3' -exec tar -czvf music.tar.gz {} ';'

    实际情况是,这样得到的 music.tar.gz 其实只包含一个 MP3 文件。 原因是 find 命令每次发现一个音频文件,都会再执行一次 -exec 选项后面的压缩命令。导致先前生成的压缩包被覆盖。

    可以先让 find 命令检索出所有符合条件的音频文件,再将得到的文件列表传递给后面的压缩命令。完整的命令如下: find ~ -type f -name '*.mp3' -exec tar -czvf music.tar.gz {} +

    2022-04-02 01:29:42
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载