از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش استفاده از چند جداکننده در AWK
سرفصلهای مطلب
ما میتوانیم AWK را نسبت به Sed یک پیشرفت در نظر بگیریم، زیرا ویژگیهای بیشتری از جمله آرایهها، متغیرها، حلقهها و عبارات قدیمی خوب و منظم را ارائه میدهد.
در این آموزش، ما به سرعت در مورد چگونگی استفاده از چند جداکننده در یک دستور AWK بحث خواهیم کرد. قبل از ادامه، لطفاً توجه داشته باشید که این آموزش یک راهنمای مبتدی برای AWK نیست، و من نیز چنین قصدی نداشتم.
اگر به راهنمای مبتدی برای AWK نیاز دارید، لطفاً به منبع زیر مراجعه کنید.
https://linuzhint.com/use_awk_linux/
Delimiters چیست؟
من مطمئن هستم که از آنجایی که برای خواندن این مقاله وقت می گذارید، با مفهوم جداکننده ها آشنا هستید. اما خلاصه کردن ضرری ندارد، پس بیایید این کار را اکنون انجام دهیم:
به طور خلاصه، جداکننده ها دنباله ای از کاراکترها هستند که برای جداسازی مقادیر متن رشته استفاده می شوند. انواع مختلفی از جداکننده ها وجود دارد که عبارتند از:
نام | سمبل |
---|---|
کاما | ، |
کولون | : |
نیمه کولون | ; |
دوره زمانی | . |
لوله | | |
بک اسلش | \ |
اسلش | / |
پرانتز | ( ) |
آکولاد | { } |
براکت های مربعی | [ ] |
فضا |
جداکننده میدان AWK RegEx
جداکننده فیلد AWK (FS) برای تعیین و کنترل روش تقسیم یک رکورد به فیلدهای مختلف توسط AWK استفاده می شود. همچنین، می تواند یک کاراکتر از یک عبارت منظم را بپذیرد. هنگامی که یک عبارت منظم را به عنوان مقدار FS تعیین می کنید، AWK مقادیر ورودی را برای دنباله کاراکترهای تنظیم شده در عبارت منظم اسکن می کند.
ما قصد داریم عملکرد AWK را برای پذیرش مقادیر Regular Expression در جداکننده فیلد برای اتصال چند جداکننده پیاده سازی کنیم.
از چند جداکننده استفاده کنید
برای نشان دادن روش جداسازی با استفاده از چند جداکننده در 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
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 22:52:03