shrinkfile - shrink a file on a line boundary
shrinkfile [ -n ] [ -m maxsize ] [ -s size ] [ -v ] file...
The shrinkfile program shrinks files to a given size if the size is
larger than maxsize,
preserving the data at the end of the file. Truncation is performed on
line boundaries, where a line is a series of bytes ending with a newline,
\n. There is no line length restriction and files may contain any binary
Temporary files are created in the <config$_PATH_TMP> directory. The
``TMPDIR'' environment variable may be used to specify a different
A newline will be added to any non-empty file that does not end with a
newline. The maximum file size will not be exceeded by this addition.
-s By default, size is assume to be zero and files are truncated to
zero bytes. By default, maxsize is the same as size. If maxsize is
less than size, maxsize is reset to size. The ``-s'' flag may be
used to change the truncation size. Because the program truncates
only on line boundaries, the final size may be smaller then the
specified truncation size. The size and maxsize parameter may end
with a ``k'', ``m'', or ``g'', indicating kilobyte (1024), megabyte
(1048576) or gigabyte (1073741824) lengths. Uppercase letters are
also allowed. The maximum file size is 2147483647 bytes.
-v If the ``-v'' flag is used, then shrinkfile will print a status line
if a file was shrunk.
-n If the ``-n'' flag is used, then shrinkfile will exit 0 if any file
is larger than maxsize and exit 1 otherwise. No files will be
shrinkfile -s 4m curds
shrinkfile -s 1g -v whey
shrinkfile -s 500k -m 4m -v curds whey
if shrinkfile -n -s 100m whey; then echo whey is way too big; fi
Written by Landon Curt Noll <email@example.com> and Rich $alz
<firstname.lastname@example.org> for InterNetNews.
You can find a summary and links related to this topic
as part of the Mib Software Usenet RKT.