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個のファイルすべてで次のエラーが発生します。

pkg pkg data @ 340 の 0x800 バイトを読み取り
、サイズ 3ec
は膨張せず、1004 バイトを書き込みます
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;

stdout に出力する方法については、depkg のマニュアル ページを確認してください。そうでない場合は/dev/stdout、ファイルとして使用してください。これにより、一時ファイルが保存されるだけでなく、元のアーカイブが任意の位置で分割されている場合でも、復号化されたコンテンツの連結に対して単一の tar コマンドを実行すると適切に機能します。

于 2011-01-06T19:47:23.200 に答える