نمایش ستونی خروجی دستورات لینوکس

رضا جمالی ۲۳ اسفند ۱۳۹۶ ۰ دیدگاه

استفاده از فایل‌های متنی در لینوکس بسیار رایج است. در مقاله قبل به ۵ نمونه از دستورات مفید در لینوکس برای تغییر در خروجی دستورات اشاره شد. در این مقاله نیز تلاش می‌کنیم تا دستور مناسبی برای نمایش خروجی دستورات به صورت ستونی را به‌شما آموزش دهیم.

جهت شفاف شدن خروجی، یک فایل نمونه با نام (sindad-authors.txt) در ۱۰ سطر تهیه شده است.

خروجی فایل به‌صورت عادی به شکل زیر است.

pos|author|articles|comments

۱|ravisaive|431|9785

۲|aaronkili|369|7894

۳|avishek|194|2349

۴|cezarmatei|172|3256

۵|gacanepa|165|2378

۶|marintodorov|44|144

۷|babin lonston|40|457

۸|hannyhelal|30|367

۹|gunjit kher|20|156

۱۰|jesseafolabi|12|89

استفاده از دستور (column) با سوییچ -t تعداد ستون‌ها را مشخص می‌کند و سوییچ -s مشخص کننده‌ی کاراکتر جدا کننده است:

cat tecmint-authors.txt  | column -t -s “|”

خروجی:

pos  author         articles  comments

۱    ravisaive      ۴۳۱       ۹۷۸۵

۲    aaronkili      ۳۶۹       ۷۸۹۴

۳    avishek        ۱۹۴       ۲۳۴۹

۴    cezarmatei     ۱۷۲       ۳۲۵۶

۵    gacanepa       ۱۶۵       ۲۳۷۸

۶    marintodorov   ۴۴        ۱۴۴

۷    babin lonston  ۴۰        ۴۵۷

۸    hannyhelal     ۳۰        ۳۶۷

۹    gunjit kher    ۲۰        ۱۵۶

۱۰   jesseafolabi   ۱۲        ۸۹

برای نمونه دیگر، می‌توانید خروجی این ۲ دستور را با هم مقایسه کنید:

$ mount

$ mount | column -t

و خروجی

sysfs        on  /sys                             type  sysfs            (rw,nosuid,nodev,noexec,relatime)

proc         on  /proc                            type  proc             (rw,nosuid,nodev,noexec,relatime)

udev         on  /dev                             type  devtmpfs         (rw,nosuid,relatime,size=4013172k,nr_inodes=1003293,mode=755)

devpts       on  /dev/pts                         type  devpts           (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)

tmpfs        on  /run                             type  tmpfs            (rw,nosuid,noexec,relatime,size=806904k,mode=755)

/dev/sda10   on  /                                type  ext4             (rw,relatime,errors=remount-ro,data=ordered)

securityfs   on  /sys/kernel/security             type  securityfs       (rw,nosuid,nodev,noexec,relatime)

tmpfs        on  /dev/shm                         type  tmpfs            (rw,nosuid,nodev)

tmpfs        on  /run/lock                        type  tmpfs            (rw,nosuid,nodev,noexec,relatime,size=5120k)

tmpfs        on  /sys/fs/cgroup                   type  tmpfs            (rw,mode=755)

cgroup       on  /sys/fs/cgroup/systemd           type  cgroup           (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/

فرمان بالا را به صورت زیر نیز می‌توان اجرا کرد:

 

 mount | column -t >mount.out

جهت اطلاعات تکمیلی می‌توانید از مستندات این دستور استفاده بفرمایید:

$ man column

فناوران شبکه سینداد (آهنگ نوآوری)

سینداد یعنی هدیه‌ی سیمرغ، یا فرزند سیمرغ؛ به عبارتی یعنی خود سیمرغ، با همه ی شگفتی هایش، اما جوانتر و سرزنده تر. و این چیزی است که ما سعی می کنیم در سینداد باشیم. از سال ۱۳۸۵ دانش مان را به صورت خدماتی در حوزه ی هاستینگ، شبکه و تولید نرم افزار در اختیار مشتریان مان قرار داده ایم و به این افتخار می کنیم که تک تک آنها تا به امروز همراه ما مانده اند. باور داریم که سینداد صرفاً یک شرکت نیست، بلکه نوعی باور است به ارائه ی شگفت انگیز از هر چیز.