Unix uncompress
автоматически удаляет сжатый файл, когда файл распакован.Если вы хотите сохранить сжатый файл и распаковать его, создайте копию файла и распакуйте эту копию:
#!/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
Обратите внимание, что compress
может работать только с одним файлом одновременно.Если вам нужно сжать несколько файлов вместе, вы можете использовать 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) распаковывает все .Zфайлы в этот каталог 3) удаляет все файлы .Z (uncompress
делает это автоматически) 4) объединяет все файлы вместе в files.tar
архив 5) сжимает архив в files.tar.Z
6) удаляет несжатые файлы и временный каталог