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

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

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

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

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

pos|author|articles|comments

1|ravisaive|431|9785

2|aaronkili|369|7894

3|avishek|194|2349

4|cezarmatei|172|3256

5|gacanepa|165|2378

6|marintodorov|44|144

7|babin lonston|40|457

8|hannyhelal|30|367

9|gunjit kher|20|156

10|jesseafolabi|12|89

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

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

خروجی:

pos  author         articles  comments

1    ravisaive      431       9785

2    aaronkili      369       7894

3    avishek        194       2349

4    cezarmatei     172       3256

5    gacanepa       165       2378

6    marintodorov   44        144

7    babin lonston  40        457

8    hannyhelal     30        367

9    gunjit kher    20        156

10   jesseafolabi   12        89

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

$ 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

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

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