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

سرور مجازی NVMe

روش استفاده از چند جداکننده در AWK

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


AWK یک زبان برنامه نویسی قدرتمند و منطبق با الگو است که در خط فرمان برای یافتن الگوهای مختلف در خروجی ها و فایل های فرمان کار می کند.

ما می‌توانیم AWK را نسبت به Sed یک پیشرفت در نظر بگیریم، زیرا ویژگی‌های بیشتری از جمله آرایه‌ها، متغیرها، حلقه‌ها و عبارات قدیمی خوب و منظم را ارائه می‌دهد.

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

اگر به راهنمای مبتدی برای AWK نیاز دارید، لطفاً به منبع زیر مراجعه کنید.

https://linuzhint.com/use_awk_linux/

Delimiters چیست؟

من مطمئن هستم که از آنجایی که برای خواندن این مقاله وقت می گذارید، با مفهوم جداکننده ها آشنا هستید. اما خلاصه کردن ضرری ندارد، پس بیایید این کار را اکنون انجام دهیم:

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

نام سمبل
کاما ،
کولون :
نیمه کولون ;
دوره زمانی .
لوله |
بک اسلش \
اسلش /
پرانتز ( )
آکولاد { }
براکت های مربعی [ ]
فضا

جداکننده میدان AWK RegEx

جداکننده فیلد AWK (FS) برای تعیین و کنترل روش تقسیم یک رکورد به فیلدهای مختلف توسط AWK استفاده می شود. همچنین، می تواند یک کاراکتر از یک عبارت منظم را بپذیرد. هنگامی که یک عبارت منظم را به عنوان مقدار FS تعیین می کنید، AWK مقادیر ورودی را برای دنباله کاراکترهای تنظیم شده در عبارت منظم اسکن می کند.

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

ما قصد داریم عملکرد AWK را برای پذیرش مقادیر Regular Expression در جداکننده فیلد برای اتصال چند جداکننده پیاده سازی کنیم.

از چند جداکننده استفاده کنید

برای نشان دادن روش جداسازی با استفاده از چند جداکننده در AWK، از یک مثال ساده استفاده می‌کنم تا روش استفاده از این عملکرد را به شما نشان دهم.

فرض کنید یک فایل با داده های زیر دارید:

/org/gnone/دسکتاپ/رابط: تاسیس: 17 آوریل 16.59.09|org.gnome.Terminal.desktop[1099]

روش استفاده از چند جداکننده در AWK

از فایل بالا، مایلیم خروجی مشابه تصویر زیر دریافت کنیم:

org/گنوم/دسکتاپ/رابط ایجاد شده در آوریل 17 16:59.09 org.gnome.Terminal.desktop[1099]

برای جدا کردن فایل با استفاده از جداکننده‌های مختلف – در این مورد، دو نقطه، فاصله و لوله – می‌توانیم از دستوری مانند شکل زیر استفاده کنیم:

بیخیال -اف‘[: |]’ ‘{print $1، $2، $3، $4، $5، $6} user.log

دستور بالا اطلاعات را مطابق شکل زیر خروجی می دهد:

روش استفاده از چند جداکننده در AWKروش استفاده از چند جداکننده در AWK

همانطور که می بینید، می توانید بیش از یک جداکننده را در جداکننده فیلد AWK ترکیب کنید تا اطلاعات خاصی را به دست آورید.

نتیجه

در این راهنمای سریع، استفاده از AWK برای جداسازی چند جداکننده در یک فایل ورودی را مورد بحث قرار دادیم.

برای کسب اطلاعات بیشتر روی روش گسترش عملکرد AWK FS، منابع زیر را در نظر بگیرید:

https://www.gnu.org/software/gawk/manual/html_node/Regexp-Field-Splitting.html

https://www.gnu.org/software/gawk/manual/html_node/Field-Separators.html

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

زمان انتشار: 1402-12-30 22:52:03

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

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

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