<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; BASH: Предложите метод сжатия файла при отсутствии свободного места ФС]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=7233</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=7233&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «BASH: Предложите метод сжатия файла при отсутствии свободного места ФС».]]></description>
		<lastBuildDate>Mon, 25 Jun 2012 09:20:56 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: BASH: Предложите метод сжатия файла при отсутствии свободного места ФС]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=61191#p61191</link>
			<description><![CDATA[<p>Тема актуальна, актуальна и обратная задача - есть архив и немного свободного пространства, известно, что остатка свободного пространства + место занимаемое архивом достаточно для распакованного содержимого архива - как распаковать не прибегая ко внешним хранилищам ?<br />запаковка вариант (предложите без временных)<br /></p><div class="codebox"><pre><code>#!/bin/sh

file=$1
[ ! -f ${file} ] &amp;&amp; exit
prefix=${file}.$$
x=0
size=`wc -c ${file} | cut -d&#039; &#039; -f1`
split=$((1024 * 1024 * 32))
x=$((${size} / ${split} + 1))
m=${x}
while [ ${size} -ge ${split} ]; do
    tail -c ${split} ${file} &gt; ${prefix}.`printf &#039;%010d&#039; ${x}`
    size=$((${size} - ${split}))
    truncate -s -${split} ${file}
    echo $(( ${m} - ${x} )) 1&gt;&amp;2
    x=$((x-1))
done
mv ${file} ${prefix}.`printf &#039;%010d&#039; ${x}`
echo &quot;START GZIP ${file}...&quot;
for x in ${prefix}.*; do
    cat ${x}
    rm ${x} &gt; /dev/null || {
        echo ${x} 1&gt;&amp;2
        break
    }
    m=$((${m} - 1))
    echo ${m} 1&gt;&amp;2
done | gzip -c &gt; ${file}.gz</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (smaharbA)]]></author>
			<pubDate>Mon, 25 Jun 2012 09:20:56 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=61191#p61191</guid>
		</item>
		<item>
			<title><![CDATA[BASH: Предложите метод сжатия файла при отсутствии свободного места ФС]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=60474#p60474</link>
			<description><![CDATA[<p>Есть файл - пусть 20 Гб, на ФС 1 - 2 Гб свободного места. Предложите варианты сжатия исходного файла без привлечения внешних/сетевых носителей.<br />Файл должен быть сжат как единое целое, т.е. с возможностью его использования в приложениях.</p>]]></description>
			<author><![CDATA[null@example.com (smaharbA)]]></author>
			<pubDate>Fri, 25 May 2012 07:13:17 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=60474#p60474</guid>
		</item>
	</channel>
</rss>
