自动获取目录下的以不同前缀开头的文件并打包成不同的tar包
时间: 2023-03-03 18:39:28 浏览: 85
您可以使用Python编写脚本来自动获取目录下的以不同前缀开头的文件,并将它们打包成不同的tar包。以下是一个基本的脚本,可以根据您的需求进行修改和扩展:
```python
import os
import tarfile
# 指定目录和前缀
dir_path = '/path/to/directory'
prefixes = ['file1_', 'file2_']
# 遍历目录,根据前缀打包文件
for prefix in prefixes:
files = [f for f in os.listdir(dir_path) if f.startswith(prefix)]
if files:
tar_filename = prefix + 'archive.tar'
with tarfile.open(tar_filename, 'w') as tar:
for file in files:
tar.add(os.path.join(dir_path, file))
```
此脚本将获取指定目录下所有以`file1_`和`file2_`开头的文件,并将它们分别打包成`file1_archive.tar`和`file2_archive.tar`两个文件。您可以根据需要更改`dir_path`和`prefixes`变量的值,或者添加其他逻辑来满足您的需求。
相关问题
使用shell脚本自动获取目录下的以不同前缀开头的文件并打包成不同的tar包
您可以使用以下脚本来自动获取目录下以不同前缀开头的文件并打包成不同的 tar 包:
```bash
#!/bin/bash
# 定义要查找的目录和前缀
DIR="/path/to/directory"
PREFIXES=("prefix1" "prefix2" "prefix3")
# 遍历所有前缀
for PREFIX in "${PREFIXES[@]}"
do
# 查找以当前前缀开头的文件并将它们打包成 tar 包
FILES=$(find $DIR -name "${PREFIX}*")
if [ -n "$FILES" ]; then
tar -czf "${PREFIX}.tar.gz" $FILES
fi
done
```
请根据您的实际情况修改脚本中的目录路径和前缀数组。脚本将在指定目录中查找以不同前缀开头的文件,并将它们分别打包成不同的 tar 包。如果某个前缀没有找到对应的文件,则不会创建相应的 tar 包。