SHRINKFILE(1) InterNetNews Documentation SHRINKFILE(1)

shrinkfile - کوتاه کردن فایل‌ها بر اساس مرز خطوط

shrinkfile [-nv] [-m maxsize] [-s size] file [file ...]

برنامه shrinkfile اندازه فایل‌ها را در صورتی که بزرگ‌تر از maxsize باشند، حداکثر تا size مشخص‌شده کاهش می‌دهد، در حالی که داده‌های انتهای فایل حفظ می‌شوند. کوتاه‌سازی بر روی مرز خطوط انجام می‌شود؛ به این معنی که یک خط دنباله‌ای از بایت‌ها است که به نویسه خط جدید ("\n") ختم می‌شود. هیچ محدودیتی برای طول خط وجود ندارد و فایل‌ها می‌توانند حاوی هرگونه داده دودویی باشند.

اگر اولین خط طولانی‌تر از مقدار مطلق size باشد، اندازه فایل به صفر کاهش می‌یابد.

حداکثر اندازه فایلی که shrinkfile می‌تواند پردازش کند ۲٬۱۴۷٬۴۸۳٬۶۴۷ بایت است.

فایل‌های موقت در دایرکتوری pathtmp که در inn.conf تنظیم شده است ایجاد می‌شوند. متغیر محیطی "TMPDIR" می‌تواند برای تعیین یک دایرکتوری متفاوت استفاده شود.

به هر فایل غیرخالی که به نویسه خط جدید ختم نمی‌شود، یک نویسه خط جدید افزوده خواهد شد؛ البته مشروط بر اینکه این افزایش باعث نشود اندازه نهایی فایل از size فراتر رود.

این برنامه در حال حاضر فقط توسط nntpsend(8) استفاده می‌شود.

این گزینه حداکثر اندازه مجاز پیش از اعمال کوتاه‌سازی را تعیین می‌کند.

به‌طور پیش‌فرض، مقدار maxsize با size (که با گزینه -s تعیین می‌شود) یکسان است. اگر maxsize کمتر از size باشد، مقدار maxsize به size بازنشانی می‌شود.

این پارامتر می‌تواند به "k"، "m" یا "g" ختم شود که نشان‌دهنده اندازه بر حسب کیلوبایت (۱٬۰۲۴ بایت)، مگابایت (۱٬۰۴۸٬۵۷۶ بایت) یا گیگابایت (۱٬۰۷۳٬۷۴۱٬۸۲۴ بایت) است. حروف بزرگ نیز مجاز هستند.

این گزینه برای بررسی اینکه آیا فایلی بیش از حد بزرگ است یا خیر استفاده می‌شود. در این حالت هیچ فایلی تغییر داده نخواهد شد.

اگر هر فایلی بزرگ‌تر از maxsize (تعیین‌شده با گزینه -m) باشد با کد وضعیت "0" خارج می‌شود، و در غیر این صورت با کد وضعیت "1" خاتمه می‌یابد.

به‌طور پیش‌فرض، مقدار size صفر در نظر گرفته می‌شود و اندازه فایل‌ها به صفر بایت کاهش می‌یابد. این گزینه برای تغییر اندازه کوتاه‌سازی استفاده می‌شود. از آنجا که برنامه فقط بر روی مرز خطوط کوتاه‌سازی می‌کند، اندازه نهایی ممکن است کوچک‌تر از اندازه تعیین‌شده باشد.

این پارامتر می‌تواند به "k"، "m" یا "g" ختم شود که بیانگر اندازه بر حسب کیلوبایت (۱٬۰۲۴ بایت)، مگابایت (۱٬۰۴۸٬۵۷۶ بایت) یا گیگابایت (۱٬۰۷۳٬۷۴۱٬۸۲۴ بایت) است. حروف بزرگ نیز مجاز هستند.

در صورتی که فایلی کوتاه شده باشد، یک خط وضعیت در خروجی استاندارد چاپ می‌کند.

نمونه استفاده:

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

دستور اول، فایل curds را در صورتی که بزرگ‌تر از ۴ مگابایت باشد به ۴ مگابایت کاهش می‌دهد. دستور دوم، فایل whey را به ۱ گیگابایت کاهش می‌دهد و در صورتی که فایل بزرگ‌تر از این مقدار باشد، یک خط گزارش خروجی می‌دهد. دستور سوم، هر دو فایل curds و whey را در صورتی که بزرگ‌تر از ۴ مگابایت باشند به ۵۰۰ کیلوبایت کاهش می‌دهد و برای فایل‌های کوتاه‌شده گزارش ثبت می‌کند. دستور چهارم، در صورتی که "whey" بزرگ‌تر از ۱۰۰ مگابایت باشد فقط یک پیام چاپ می‌کند، بدون اینکه آن را کوتاه کند.

نوشته‌شده توسط Landon Curt Noll <chongo@toad.com> و Rich $alz <rsalz@uunet.uu.net> برای InterNetNews. بازنویسی در قالب POD توسط Julien Elie.

nntpsend(8).

2022-07-10 INN 2.7.4