使用tar -I pigz -cf /data/map/img_w_1.tar.gz 7 8 9 10 11 12 13 14 15 16 17 压缩/data/map/img_w目录下文件夹时,img_w目录下的文件夹太多,我该怎么批量选择呢
时间: 2024-09-25 16:07:09 浏览: 39
rtsp-1.0.1.tar.gz_C++ RTSP/RTP_RTSP c++_RTSP 代码_rtsp-1.0.1.tar_r
5星 · 资源好评率100%
当你需要压缩"data/map/img_w"目录下的多个子文件夹,并且子文件夹非常多时,可以使用通配符(*)来指定匹配模式,然后将这些模式作为`tar`命令的参数。在这个例子中,你想要压缩的是数字1到16对应的文件夹,可以这样做:
```bash
tar -I pigz -cf /data/map/img_w_1_to_16.tar.gz img_w/1* img_w/2* ... img_w/16*
```
这里,`img_w/1*` 到 `img_w/16*` 分别代表img_w目录下从1开始的每一个子目录。`tar`会自动包含这些文件夹内的所有文件和子目录。
如果`img_w`下面有非常大量的子目录,为了避免输入过多,你可以创建一个文本文件,每一行是一个需要压缩的目录名称,然后通过`cat`或者`xargs`来读取文件并传递给`tar`命令:
```bash
# 创建一个包含文件夹路径的列表文件,假设名为filelist.txt
echo img_w/1* img_w/2* > filelist.txt
# 使用 xargs 来批量处理文件列表
tar -I pigz -cf /data/map/img_w_large_batch.tar.gz $(cat filelist.txt)
```
这样,无论有多少文件夹,都只需要维护好一个文本文件即可。
阅读全文