استفاده از فایلهای متنی در لینوکس بسیار رایج است. در مقاله قبل به 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