وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش چاپ ستون اول یا آخرین ستون یا هر دو با استفاده از “awk”.

0 7
زمان لازم برای مطالعه: 4 دقیقه


دستور awk لینوکس یک ابزار قدرتمند برای عملیات های مختلف است روی فایل های متنی مانند جستجو، جایگزینی و print. استفاده از آن با داده های جدولی آسان است زیرا به طور خودکار هر خط را به فیلدها یا ستون ها تقسیم می کند روی جداکننده میدان وقتی با یک فایل متنی کار می کنید که حاوی داده های جدولی است و می خواهید print داده های یک ستون خاص، سپس دستور awk بهترین گزینه است. در این آموزش به شما نشان خواهیم داد که چگونه این کار را انجام دهید print اولین ستون و/یا آخرین ستون یک خط یا فایل متنی.

اولین ستون و/یا آخرین ستون خروجی فرمان را چاپ کنید

بسیاری از دستورات لینوکس مانند دستور ‘ls’ خروجی های جدولی تولید می کنند. در اینجا، ما به شما نشان خواهیم داد که چگونه print اولین ستون و/یا آخرین ستون از خروجی فرمان ‘ls -l’.

مثال 1: اولین ستون خروجی دستور را چاپ کنید

دستور awk زیر خواهد بود print اولین ستون از خروجی فرمان ‘ls -l’.

$ ls

$ ls | بیخیال ‘{ print $1 }’

پس از اجرای دستورات فوق خروجی زیر تولید خواهد شد.

روش چاپ ستون اول یا آخرین ستون یا هر دو با استفاده از "awk".

مثال 2: آخرین ستون یک خروجی فرمان را چاپ کنید

دستور awk زیر خواهد بود print آخرین ستون از خروجی فرمان ‘ls -l’.

$ ls

پیشنهاد می‌کنیم بخوانید:  فرماندهی سر و دم باش

$ ls | بیخیال ‘{ print $NF }’

پس از اجرای دستورات فوق خروجی زیر تولید خواهد شد.

روش چاپ ستون اول یا آخرین ستون یا هر دو با استفاده از "awk".روش چاپ ستون اول یا آخرین ستون یا هر دو با استفاده از "awk".

مثال 3: اولین و آخرین ستون یک خروجی فرمان را چاپ کنید

دستور awk زیر خواهد بود print اولین و آخرین ستون از خروجی فرمان ‘ls -l’.

$ ls

$ ls | بیخیال ‘{ print $1, $NF }’

پس از اجرای دستورات فوق خروجی زیر تولید خواهد شد.

روش چاپ ستون اول یا آخرین ستون یا هر دو با استفاده از "awk".روش چاپ ستون اول یا آخرین ستون یا هر دو با استفاده از "awk".

اولین ستون و/یا آخرین ستون یک فایل متنی را چاپ کنید

در اینجا، روش استفاده از دستور awk را به شما نشان خواهیم داد print اولین ستون و/یا آخرین ستون یک فایل متنی.

یک فایل متنی ایجاد کنید

برای دنبال کردن این آموزش، یک فایل متنی با نام ایجاد کنید customers.txt با مطالب زیر این فایل شامل سه نوع داده مشتری است: نام با شناسه، ایمیل و شماره تلفن. برای جداسازی این مقادیر از کاراکتر تب (\t) استفاده می شود.

نام ایمیل تلفن

جاناتون بینگ – 1001 jon@gmail.com 01967456323

مایکل جکسون – 2006 mic@gmail.com 01756235643

جانیفر لوپز – 3029 jani@gmail.com 01822347865

جان ابراهیم – 4235 john@gmail.com 01590078452

میرصابیر – 2756 mir@gmail.com 01189523978

مثال 4: اولین ستون یک فایل را بدون استفاده از جداکننده فیلد چاپ کنید

اگر در دستور «awk» از جداکننده فیلد استفاده نشده باشد، از یک فاصله به عنوان جداکننده پیش فرض فیلد استفاده می شود. دستور awk زیر خواهد بود print ستون اول با استفاده از جداکننده پیش فرض.

$ گربه customers.txt

$ بیخیال ‘{print $1} customers.txt

پس از اجرای دستورات فوق خروجی زیر تولید خواهد شد. توجه داشته باشید که خروجی فقط نام مشتری را نشان می دهد زیرا فاصله به عنوان جداکننده فیلد اعمال می شود. راه حل این مشکل در مثال بعدی نشان داده شده است.

روش چاپ ستون اول یا آخرین ستون یا هر دو با استفاده از "awk".روش چاپ ستون اول یا آخرین ستون یا هر دو با استفاده از "awk".

مثال 5: اولین ستون یک فایل را با جداکننده چاپ کنید

در اینجا از \t به عنوان جداکننده فیلد استفاده می شود print ستون اول فایل گزینه ‘-F’ برای تنظیم جداکننده فیلد استفاده می شود.

$ گربه customers.txt

پیشنهاد می‌کنیم بخوانید:  چگونه می توانم مجوز شل اسکریپت رد شده در لینوکس را برطرف کنم؟

$ بیخیال -اف ‘\t’ ‘{print $1} customers.txt

پس از اجرای دستورات فوق خروجی زیر تولید خواهد شد. محتوای فایل بر اساس سه ستون تقسیم شده است روی \ t. بنابراین نام و شناسه مشتری به عنوان ستون اول چاپ می شود. اگر شما می خواهید print نام مشتری بدون شناسه، سپس به مثال بعدی ادامه دهید.

روش چاپ ستون اول یا آخرین ستون یا هر دو با استفاده از "awk".روش چاپ ستون اول یا آخرین ستون یا هر دو با استفاده از "awk".

اگر شما می خواهید print نام مشتری بدون شناسه، سپس باید از «-» به عنوان جداکننده فیلد استفاده کنید. دستور awk زیر خواهد بود print نام مشتری فقط به عنوان ستون اول.

$ گربه customers.txt

$ بیخیال -اف ‘-‘ ‘{print $1} customers.txt

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

روش چاپ ستون اول یا آخرین ستون یا هر دو با استفاده از "awk".روش چاپ ستون اول یا آخرین ستون یا هر دو با استفاده از "awk".

مثال 6: آخرین ستون یک فایل را چاپ کنید

دستور awk زیر خواهد بود print آخرین ستون customers.txt. از آنجایی که در دستور از جداکننده فیلد استفاده نشده است، از فضا به عنوان جداکننده فیلد استفاده می شود.

$ گربه customers.txt

$ بیخیال ‘{print $NF} customers.txt

پس از اجرای دستورات فوق خروجی زیر تولید خواهد شد. ستون آخر شامل شماره تلفن است، همانطور که در خروجی نشان داده شده است.

روش چاپ ستون اول یا آخرین ستون یا هر دو با استفاده از "awk".روش چاپ ستون اول یا آخرین ستون یا هر دو با استفاده از "awk".

مثال 7: اولین و آخرین ستون یک فایل را چاپ کنید

دستور awk زیر خواهد بود print اولین و آخرین ستون های customers.txt. در اینجا، تب (\t) به عنوان جداکننده فیلد برای تقسیم محتوا به ستون ها استفاده می شود. در اینجا، تب (\t) به عنوان جداکننده برای خروجی استفاده می شود.

$ گربه customers.txt

$ بیخیال -اف \ t ‘{print $1 “\t” $NF}” customers.txt

پس از اجرای دستورات بالا خروجی زیر ظاهر می شود. محتوا توسط \t به سه ستون تقسیم می شود. ستون اول شامل نام و شناسه مشتری و ستون دوم شامل شماره تلفن است. ستون های اول و آخر با استفاده از \t به عنوان جداکننده چاپ می شوند.

روش چاپ ستون اول یا آخرین ستون یا هر دو با استفاده از "awk".روش چاپ ستون اول یا آخرین ستون یا هر دو با استفاده از "awk".

نتیجه

دستور “awk” را می توان به روش های مختلفی برای دریافت ستون اول و/یا آخرین ستون از هر خروجی فرمان یا از داده های جدولی اعمال کرد. توجه به این نکته ضروری است که در دستور به جداکننده فیلد نیاز است و در صورت عدم ارائه، از فضا استفاده می شود.

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-31 06:31:05

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید