2012-02-08 8 views
0

Zファイルをディレクトリに解凍してから削除したいのですが(元のZファイルは残しておきます)。これを行う最善の方法は何ですか?Zファイルを解凍してからスクリプトの後にファイルを削除してください

ありがとうございます!

EDITED:圧縮解除後にZファイルが削除された場合、どのように圧縮できますか?かなり大量です。アイデア:ファイルをフォルダに解凍してから、そのフォルダをZファイルに圧縮し直すことは可能ですか?

+0

ファイルを圧縮解除した後で、ファイルを再圧縮する以外に、ファイルで何をやっているのか明確ではありません。 grepを使ってファイルを一時的に調べているだけなら、 'uncompress -c $ {file} | grep srchTarget | sed "s/^/$ file:/"> srchResults.txt'を実行し、再圧縮を混乱させないようにします。がんばろう。 – shellter

+0

ありがとう!実際に私が印刷する必要があるレポートです。 :/ – cloudcalculus

+0

質問を編集して、ファイルに適用するコマンドを含めることを検討してください。再圧縮を避けるための他のトリックがあるかもしれません。がんばろう。 – shellter

答えて

2

UNIX uncompressは、ファイルが解凍されると自動的に圧縮ファイルを削除します。あなたが圧縮されたファイルを保存し、同様にそれを解凍したい場合は、ファイルのコピーを作成し、そのコピーを解凍:compressは一度に一つのファイルで作業ができることを

#!/bin/sh 

for file in *.Z; do 

echo $file 

#copy to temporary file and uncompress 
cp $file tmp.Z 
uncompress tmp.Z 

#rename uncompressed temp file to match original name 
mv ${file%.*} $file 

done 

注意を。複数のファイルをまとめて圧縮する必要がある場合は、tarを使用できます。何このスクリプトは現在ありませんがこれです

#!/bin/sh 

mkdir tmp 

for file in *.Z; do 
mv $file tmp/ 
uncompress tmp/$file 
done 

tar -cf files.tar tmp/* 
compress files.tar 
rm -r tmp 

:たとえば、あなたはそうのような上記のスクリプトを変更することができ、現在の1 2の下に一時ディレクトリを作成します)

1)そのにすべての.Zファイルを解凍ディレクトリ 3)すべての.Zファイル(uncompressが自動的にそれをしない) 4)files.tarアーカイブ 5にまとめたファイルをすべて兼ね備えて削除するには)files.tar.Z 6にアーカイブを圧縮し)、非圧縮ファイルや一時ディレクトリ

を削除します
関連する問題