使用 PhotoRec 恢复硬盘后,我的文件夹里有 36,500 个 GZ 档案。其中约 200 个对我来说非常重要。
这些档案中的每一个都包含一TAR 存档。这些 TAR 存档包含文件夹以及以下文件类型的文件:
- 文档
- 文档
- 压缩文件
- 文本文件
- 课件
- 消耗臭氧层物质
- 奥德特
- 图片
是否可以创建一个 shell 脚本
- 打开每一个 GZ 档案
- 检查其中是否有 TAR 档案,如果是
- 打开 TAR 档案
- 检查 TAR 档案是否包含指定的文件类型之一,如果是
- 将包含 TAR 的 GZ 档案移动到指定目录
由于我对 shell 脚本完全是个初学者,因此如果能提供任何关于此类脚本应该是什么样子的提示或指引,我将非常感激。
答案1
这未经测试。我在其中添加了一条安全注释(因此它只会回显文件gz
而不是移动它),但当您确定它可以正常工作时,请继续。
for f in *.gz; do
win=$(tar -ztvf "$f" | grep -iE 'doc|docx|xls|rtf|pdf|ppt|ods|odt|jpg$' | wc -l)
if [[ $win -gt "0" ]]; then
# mv "$f" /other/directory
echo "$f contains one of my files!"
fi
done