2011-06-09 8 views
2

UNIXシェルのバッチスクリプトを作成してzipファイルに移動してから元のファイルを削除するには、誰かが正しい方向に向かうことができますか?ファイルをZIPに移動するバッチスクリプト

作成中のジップに合わせるのに十分なスペースがないため、標準のジップ機能を使用できません。

だから、何か提案して下さい

答えて

1

ない優れたソリューションはなく、単純な、私は再帰的にフォルダをzip圧縮Pythonスクリプトを見つけてしまったと単にファイルを削除するには、行を追加しましたそれはジップ

1

はこれを試してみてください:

zip -r -m source.zip * 
+0

私はすでにzipアーカイブに「 -m 移動し、指定されたファイル「」ドキュメント から、そのようなことを試してみました。実際に、これは、指定されたzipアーカイブを行った後、対象のディレクトリ/ファイルを削除します。ファイルを削除した後にディレクトリが空になった場合、ディレクトリも削除されます。zipがアーカイブをエラーなしで作成するまで削除は行われません。ディスクスペースを節約するのに便利ですが、すべての入力ファイルを削除する前にアーカイブをテストする-Tとの組み合わせ "" " – Hugoagogo

0

に追加された後、あなたは

find . -type f -print0 | xargs -0 -n1 zip -m archive 

として findを使用してこれを達成することができます

これは、すべてのファイルをディレクトリ構造を保持したzipに移動します。その後、簡単に削除できる空のディレクトリが残されます。さらに、findを使用すると、圧縮するファイルを自由に選択できます。

0

は、私が使用します。

ここ
zip --move destination.zip src_file1 src_file2 

manページから "--move" オプションの詳細

--move

zipアーカイブに指定されたファイルを移動します。実際には、この は、指定されたzipファイルをアーカイブしたあと、対象のディレクトリ/ファイルを削除します。 ファイルの削除後にディレクトリが空になると、 ディレクトリも削除されます。 zipに がエラーなしでアーカイブを作成するまで、削除は行われません。これはディスク スペースを節約するのに便利ですが、潜在的に危険ですので、 の-Tとの組み合わせで使用して、すべての入力ファイルを削除する前にアーカイブをテストすることをお勧めします。

+0

これは上記の答えと同じで、zipが完全に作成された後に削除が行われるのと同じ問題があります。 – Hugoagogo

+0

はい、そうです。申し訳ありませんが、私はそれに気付かなかった。 – Hicham

関連する問題