tar 批量解压多层目录文件

需求

  • tgz 文件存放在多层目录中
  • 想解压到另一个位置,不影响当前文件夹

例子

类似这种目录结构

./compressed_data/2011/01/01/file1.tgz
./compressed_data/2012/02/02/file2.tgz
./compressed_data/2013/03/03/file3.tgz

想解压到 ./uncompressed_data 目录中

一行命令搞定

find ./compressed_data/ -name "*.tgz"|xargs -i tar -zxf {} -C ./uncompressed_data/

解析

找到所有想解压的文件

find ./compressed_data/ -name "*.tgz"

基本解压命令,将 file.tgz 解压到指定目录 uncompressed_data 中

tar -zxf file.tgz -C ./uncompressed_data

用 xargs 命令将两个命令结合起来

find ./compressed_data/ -name "*.tgz"|xargs -i tar -zxf {} -C ./uncompressed_data/

其中 {} 是 find 命令查出来的一行一行的文件名,每个文件名执行一次 xargs 后边的命令。

还可以加上 nohup 后台搞

nohup command >/dev/null 2>&1 &
上一篇:EXSI6.5忘记root密码


下一篇:harbor安装