در لینوکس، متنهای خروجی در بسیاری موارد نیاز به ساختار و شکلنمایی مناسب دارند—چه برای نمایش در ترمینال، چه برای چاپ یا درج در مستندات. ابزارهایی برای شمارهگذاری، چینش، صفحهبندی و تایپ متن ارائه شدهاند که در ادامه معرفی میشوند.
دستور nl
خطوط را شمارهگذاری میکند و با پشتیبانی از بخشبندی صفحه منطقی و قالببندی سفارشی، انعطافپذیری بالایی دارد.
nl distros.txt
nl -n rz -w 3 -s ' '
\\:\\:\\:
(هدر)، \\:\\:
(بدنه)، \\:
(فوتر)fold
خطوط طولانی را به پهنای مشخصی تقسیم میکند، مناسب برای ترمینالهای محدود.
echo "متن طولانی نمونه" | fold -w 12 -s
fmt
پاراگرافها را با رعایت فاصلهها و تورفتگیها مجدداً قالببندی میکند، مناسب برای کامنتها و نوشتههای ساختارمند.
fmt -w 50 file.txt
fmt -p '# ' file.txt
pr
فایلها را صفحهبندی کرده و هدر، شماره صفحه و حاشیه اضافه میکند.
pr -l 15 -w 65 distros.txt
printf
برای تولید خروجی فرمتشده در اسکریپتها استفاده میشود و ورودی از stdin دریافت نمیکند.
printf "Line: %05d\t%.2f\t%s\n" 7 3.14 "Done"
مشخصکننده | کاربرد |
---|---|
%d | عدد صحیح دهدهی |
%f | عدد اعشاری |
%s | رشته متن |
%x / %X | عدد شانزدهدهی |
%% | علامت درصد واقعی |
مجموعه ابزارهای groff
برای قالببندی اسناد با ماکروها و تولید خروجی PostScript یا PDF استفاده میشود. همچنین از tbl
برای ساخت جدول پشتیبانی میکند.
zcat ls.1.gz | groff -mandoc -T ascii
groff -mandoc file.1 > page.ps
ps2pdf page.ps page.pdf
groff -t -T ascii formatted-table.txt
ابزارهای فرمتبندی لینوکس مانند nl
، fold
، fmt
، pr
، printf
و groff
امکانات متنوعی برای نمایش و چاپ دادهها فراهم میکنند. چه در تهیه اسناد، چه در خروجی ترمینال یا تولید گزارشها، تسلط بر این ابزارها برای کاربران لینوکس بسیار ارزشمند است.