0

我正在尝试提取和解密 23 个 .tar 文件,如下所示:

dev_flash_000.tar.aa.2010_07_29_170013

其中有 23 个,每个都需要在提取之前使用名为 dePKG 的应用程序进行解密。

我试过这个 bash 脚本:

for i in `ls dev_flash*`; do ./depkg $i $i.tar ; tar -xvf ./$i.tar ; rm $i.tar; done

并为所有 23 个文件获取此错误:

读取 0x800 字节的 pkg
pkg 数据 @ 340,大小为 3ec
未膨胀,写入 1004 字节
tar:这看起来不像 tar 存档
tar:跳到下一个标头
tar:由于先前的错误而退出失败状态

我只是想节省时间:D

4

1 回答 1

0

您不应该在 ` ` 上下文中使用 ls — 请参阅http://porkmail.org/era/unix/award.html#ls。FWIW:

for i in dev_flash*`; do
    ./depkg "$i" -;
done | tar -xv;

请查看您的 depkg 手册页,了解如何将其输出到标准输出,或者如果没有,则将其/dev/stdout用作文件。这不仅可以为您节省临时文件,而且当原始存档在任意位置拆分时,对解密内容的串联运行单个 tar 命令也可以正常工作。

于 2011-01-06T19:47:23.200 回答