【发布时间】:2011-03-24 10:15:11
【问题描述】:
我正在尝试编写一个执行以下操作的 bash 脚本:
- 枚举目录中与指定模式匹配的文件列表
- 创建一个包含匹配文件的 tar 文件
- 从源目录中删除(即删除)匹配的文件
为了简单起见,我打算使用目录和文件模式的硬编码列表
这是我目前想出的:
#!/bin/bash
filenames[0]='/home/user1/*.foo'
filenames[1]='/some/otherpath/*.fbar'
for f in ${filenames[@]}
do
echo "$f"
done
但是,我不确定从现在开始如何进行。具体来说,我需要以下帮助:
- 如何 glob 匹配模式 $f 的文件
- 如何一次性将匹配文件的整个列表(即来自所有目录)添加到 tar 文件中
关于删除文件,我想简单地遍历上面第 2 步中获得的整个列表,然后“rm”实际文件 - 有没有更好/更快/更优雅的方法?
PS:
我在 Ubuntu 10.0.4 LTS 上运行它
【问题讨论】:
标签: bash