在linux下将某个文件夹下面所有的压缩包用解压密码为123456 解压到/data/worl2/目录下 并且将解压出来的文件重命名为压缩包的文件名
时间: 2024-09-20 08:05:38 浏览: 45
在Linux环境下,你可以使用`find`, `gunzip`或`tar`, `gzip`组合以及`rename`命令来实现这个操作。假设你要解压的是`.gz`格式的压缩包,下面是步骤:
1. 使用`find`找到目标目录下的所有`.gz`压缩包:
```bash
find /path/to/your/folder -type f -name "*.gz"
```
将`/path/to/your/folder`替换为你实际的文件夹路径。
2. 使用`gunzip`或`tar`解压缩这些文件,指定密码:
```bash
find /path/to/your/folder -type f -name "*.gz" -exec gunzip -d -p123456 {} \; > /dev/null
```
或者(如果压缩包是tar.gz)
```bash
find /path/to/your/folder -type f -name "*.tar.gz" -exec tar xzvf -p123456 {} -C /data/worl2/ \; > /dev/null
```
这里`-C /data/worl2/`指定了解压的目标目录。
3. 最后,使用`rename`命令将解压后的文件重命名回原压缩包的名称:
```bash
find /data/worl2 -type f -mtime -1 -exec rename 's/^.*\//original_filename_' {} \;
```
`-mtime -1`用于查找最近改动过的文件,`^.*\//`匹配除文件名外的所有部分,`original_filename_`是你希望的新文件名前缀。
阅读全文