需求
- 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 &