وقتی با ترمینال کار میکنیم گاهی متن داخل یک فایل یا خروجی یک دستور به اندازه کافی خوانا نیست. برای مثال محتوای یه فایل csv رو مشاهده کنید.
curl -s https://raw.githubusercontent.com/thinker-amir/rig2csv/main/users.csv
همانطور که در محتوای فایل csv مشخص است ستون ها با کارکتر ; از هم جدا شدند و در سطر اول مشخص شده که در هر سطر ستون ها شامل چه محتوایی هستند.
مشکل اینجاست که محتوای فایل csv خیلی خوانا نیست، به طور مثال اگر این فایل رو به نرم افزار اکسل وارد کنیم محتوای آن در جدولی زیبا و خوانا قابل مشاهده است. اما در ترمینال چه کاری از دستمون برمیاد؟
خوشبختانه دستوری به اسم column به کمکمون میاد. در ادامه با استفاده از این دستور محتوای فایل csv رو خواناتر در ترمینال چاپ میکنیم.
curl -s https://raw.githubusercontent.com/thinker-amir/rig2csv/main/users.csv | column -t -s ';'
مطابق این تصویر، خروجی ما خوانا تر از تصویر قبل است.
نگاهی بندازیم به دستوری که اجرا کردیم.
curl -s https://raw.githubusercontent.com/thinker-amir/rig2csv/main/users.csv
تا اینجای کار ما محتوای یک فایل csv رو با کمک دستور curl چاپ کردیم. آپشن s- برای سایلنت بودن(نمایش ندادن اطلاعات اضافه) استفاده شده.
بعد از اون با کارکتر پایپ یا "|" خروجی رو دادیم به دستور بعدی که column هست. t- برای اینکه مشخص کنیم به جدول نیاز داریم و آپشن s- هم برای مشخص کردن کارکتر جداکننده ستون هاست.
اگر خطوط اول فایل etc/passwd/ رو چاپ کنیم، خروجی مشابه تصویر زیر قابل مشاهده است.
cat /etc/passwd | head
حالا با دستور column خواناترش میکنیم.
cat /etc/passwd | head | column -t -s :
امیدوارم این نوشته برای شما مفید باشه. اگر سوال یا نظری دارید خوشحال میشم که همینجا برام کامنت بذارید.