AIX(unix)下,有一存放数据的目录,数据以日期为文件夹进行存放,如: 20120101 20120102 20120103 。。。 请编写shell程序,对该目录下的所有日期里面的,以”.dat” 结尾的文件进行压缩。
时间: 2024-05-13 14:18:02 浏览: 106
数据压缩程序
可以使用以下的shell脚本实现:
```bash
#!/bin/bash
dir="/path/to/data/directory"
for date_dir in $(ls $dir); do
if [ -d "${dir}/${date_dir}" ]; then
cd "${dir}/${date_dir}"
tar -czvf "${date_dir}.tar.gz" *.dat
fi
done
```
解释:
- `dir` 变量存储了数据目录的路径。
- `for date_dir in $(ls $dir)` 循环遍历数据目录下的所有日期文件夹。
- `if [ -d "${dir}/${date_dir}" ]` 判断当前遍历到的文件是否是一个目录。
- `cd "${dir}/${date_dir}"` 进入日期文件夹。
- `tar -czvf "${date_dir}.tar.gz" *.dat` 压缩日期文件夹下所有以 `.dat` 结尾的文件,压缩后的文件名为该日期文件夹的名称加上 `.tar.gz` 后缀。
阅读全文