| COLUMN(1) | دستورات کاربر | COLUMN(1) |
نام (NAME)
column - ستونبندی و قالببندی متون به صورت جدول
خلاصه دستور (SYNOPSIS)
column [گزینهها] [پرونده ...]
توضیحات (DESCRIPTION)
ابزار column ورودی خود را در چندین ستون قالببندی میکند. این ابزار از سه حالت پشتیبانی میکند:
پر کردن ستونها پیش از سطرها
پر کردن سطرها پیش از ستونها
ایجاد جدول
ورودی از پرونده یا در غیر این صورت از ورودی استاندارد دریافت میشود. خطوط خالی نادیده گرفته میشوند و تمام توالیهای چندبایتی نامعتبر با قرارداد x<hex> کدگذاری میشوند.
گزینهها (OPTIONS)
آرگومان columns برای گزینههای --table-* در زیر، یک فهرست جداشده با کاما از نامهای ارائهشده توسط کاربر است که با --table-columns name1,name2,... تعریف میشوند، یا اندیس ستونها همانطور که در ورودی ظاهر میشوند (شروع از ۱)، یا نامهایی که از طریق یک مشخصه --table-column تعریف شدهاند. ترکیب نامها و اندیسها امکانپذیر است. مکاننگهدار ویژه '0' (مانند -R0) میتواند برای مشخص کردن همه ستونها و '-1' (مانند -R -1) برای مشخص کردن آخرین ستون مرئی استفاده شود. استفاده از بازههایی مانند '1-5' هنگام آدرسدهی ستونها بر اساس اندیس مجاز است.
-J, --json
-c, --output-width width
مکاننگهدار unlimited (یا 0) میتواند برای جلوگیری از محدود کردن عرض خروجی استفاده شود. این کار هنگام هدایت مجدد خروجی به یک پرونده توصیه میشود.
(نام طولانی اصلی این گزینه --columns بود؛ این نام از نسخه ۲.۳۰ منسوخ شده است.)
-d, --table-noheadings
-o, --output-separator string
-s, --input-separator, --separator separators
-S, --use-spaces number
-t, --table
--table-colorscheme name
-C, --table-column attributes
مشخصههای پشتیبانیشده عبارتند از:
name=string
trunc
tree
right
width=number
strictwidth
noextremes
hidden
wrap
wrapnl
wrapzero
json=type
color=name
colorkey=name
headercolor=name
headercolorkey=name
-N, --table-columns names
-l, --table-columns-limit number
-R, --table-right columns
-T, --table-truncate columns
-E, --table-noextreme columns
این گزینه بهطور پیشفرض برای آخرین ستون مرئی فعال است.
-e, --table-header-repeat
-K, --table-header-as-columns
-W, --table-wrap columns
--wrap-separator string
-H, --table-hide columns
-O, --table-order columns
-n, --table-name name
-m, --table-maxout
-L, --keep-empty-lines
-r, --tree column
-i, --tree-id column
-p, --tree-parent column
-x, --fillrows
--color[=when]
-h, --help
-V, --version
رنگها (COLORS)
رنگیسازی خروجی توسط قابلیت terminal-colors.d(5) پیادهسازی شده است. رنگآمیزی ضمنی را میتوان با یک پرونده خالی
/etc/terminal-colors.d/column.disable
برای دستور column یا برای تمام ابزارها با پرونده
/etc/terminal-colors.d/disable
غیرفعال کرد.
از نسخه ۲.۴۱، متغیر محیطی $NO_COLOR نیز برای غیرفعال کردن رنگیسازی خروجی پشتیبانی میشود، مگر اینکه صریحاً توسط یک گزینه خط فرمان فعال شده باشد.
تنظیمات ویژه کاربر در $XDG_CONFIG_HOME/terminal-colors.d یا $HOME/.config/terminal-colors.d تنظیمات سراسری را بازنویسی (override) میکند.
توجه داشته باشید که ممکن است رنگیسازی خروجی بهطور پیشفرض فعال باشد، و در این صورت نیازی نیست دایرکتوریهای terminal-colors.d از پیش وجود داشته باشند.
نام طرح رنگی پیشفرض "column" است و میتوان آن را با گزینه زیر بازنویسی کرد:
--table-colorscheme name
سپس پرونده name[.disable|enable|scheme] میتواند در /etc/terminal-colors.d/، $XDG_CONFIG_HOME/terminal-colors.d یا $HOME/.config/terminal-colors.d/ استفاده شود.
نام منطقی رنگ (کلید) در طرح رنگی میتواند توسط مشخصههای ستون colorkey= و headercolorkey= آدرسدهی شود. برای نمونه:
echo 'important red' > ~/.config/terminal-colors.d/cooltable.scheme
echo 'important-header 37;41' >> ~/.config/terminal-colors.d/cooltable.scheme
echo -e "a b c\naa bb cc\naaa bbb ccc" | column -t \
--table-colorscheme=cooltable \
-C name=AAA,colorkey=important,headercolorkey=important-header \
-C name=BBB,color=magenta,headercolor=cyan \
-C name=CCC,color=green
این کار یک طرح رنگی با نام "cooltable" ایجاد کرده و سرستون و دادههای ستون اول را طبق کلیدهای موجود در طرح رنگآمیزی میکند. دو ستون دیگر با نامهای مستقیم رنگها رنگآمیزی خواهند شد.
محیط (ENVIRONMENT)
COLUMNS
LIBSMARTCOLS_DEBUG=all
LIBSMARTCOLS_DEBUG_PADDING=on
تاریخچه (HISTORY)
دستور column در 4.3BSD-Reno ظاهر شد.
اشکالات (BUGS)
در نسخه ۲.۲۳ عملکرد گزینه -s به حالت غیرحریصانه (non-greedy) تغییر یافت، برای نمونه:
printf "a:b:c\n1::3\n" | column -t -s ':'
خروجی قدیمی:
a b c 1 3
خروجی جدید (از زمان util-linux 2.23):
a b c 1 3
نسخههای قدیمی این ابزار نشان میدادند که "سطرها قبل از ستونها پر میشوند" بهصورت پیشفرض است، و گزینه -x این حالت را معکوس میکند. این نگارش رفتار واقعی برنامه را منعکس نمیکرد و از آن زمان تصحیح شده است (توضیحات بالا را ببینید). پیادهسازیهای دیگر column ممکن است همچنان از مستندات قدیمیتر استفاده کنند، اما در هر حال رفتار باید یکسان باشد.
مثالها (EXAMPLES)
چاپ fstab با یک خط سرستون و تراز کردن اعداد به سمت راست:
sed 's/#.*//' /etc/fstab | column --table --table-columns SOURCE,TARGET,TYPE,OPTIONS,FREQ,PASS --table-right FREQ,PASS
چاپ fstab و پنهان کردن ستونهای بدون نام:
sed 's/#.*//' /etc/fstab | column --table --table-columns SOURCE,TARGET,TYPE --table-hide -
چاپ یک ساختار درختی:
echo -e '1 0 A\n2 1 AA\n3 1 AB\n4 2 AAA\n5 2 AAB' | column --tree-id 1 --tree-parent 2 --tree 3 1 0 A 2 1 |-AA 4 2 | |-AAA 5 2 | `-AAB 3 1 `-AB
چاپ جدول با جداکننده سفارشی شکست خط:
echo -e 'Name:Description\nJohn:A|software|developer\nJane:A|data|scientist' | column --table --separator ':' --table-wrap 2 --wrap-separator '|'
Name Description
John A
software
developer
Jane A
data
scientist
همچنین ببینید (SEE ALSO)
گزارش اشکالات (REPORTING BUGS)
برای گزارش باگها، از سامانه پیگیری مشکلات https://github.com/util-linux/util-linux/issues.
در دسترس بودن (AVAILABILITY)
دستور column بخشی از بسته util-linux است که میتوان آن را از بایگانی هسته لینوکس https://www.kernel.org/pub/linux/utils/util-linux.
| 2026-09-02 | util-linux 2.42.3 |