استفاده از فایلهای متنی در لینوکس بسیار رایج است. در مقاله قبل به ۵ نمونه از دستورات مفید در لینوکس برای تغییر در خروجی دستورات اشاره شد. در این مقاله نیز تلاش میکنیم تا دستور مناسبی برای نمایش خروجی دستورات به صورت ستونی را بهشما آموزش دهیم.
جهت شفاف شدن خروجی، یک فایل نمونه با نام (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