以下是一个备份脚本的示例,它按照指定模式查找文件,并将完整的文件名传递给脚本进行备份:
#!/bin/bash
# 指定要查找的文件模式
file_pattern="*.txt"
# 备份目录
backup_dir="/path/to/backup"
# 查找匹配模式的文件,并将完整的文件名传递给备份函数
find /path/to/files -name "$file_pattern" -exec bash -c 'backup_file "$0"' {} \;
# 备份函数
backup_file() {
file="$1"
filename=$(basename "$file") # 获取文件名
backup_path="$backup_dir/$filename.backup"
# 备份文件
cp "$file" "$backup_path"
echo "备份文件 $file 到 $backup_path"
}
在上面的示例中,我们首先定义了要查找的文件模式 file_pattern
,然后指定备份目录 backup_dir
。
接下来,使用 find
命令按照指定的模式在 /path/to/files
目录下查找匹配的文件。-exec
参数用于执行后续的命令,bash -c 'backup_file "$0"'
是一个匿名的 shell 子进程,用于调用备份函数,并将找到的文件名作为参数传递给该函数。
备份函数 backup_file
首先获取到传递的文件名,并根据备份目录和文件名生成备份路径 backup_path
。然后,使用 cp
命令将原始文件复制到备份路径,并输出备份信息。
你可以根据实际需求修改文件模式、备份目录和备份操作来适应你的脚本。