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

سرور مجازی NVMe

AWK NF چیست؟

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


تابع “AWK” یک ابزار لینوکس است که برای تجزیه و تحلیل متن استفاده می شود که کنترل قوی داده را ارائه می دهد. برای استفاده از برنامه کامپیوتری لینوکس و عملکرد “AWK”، کاربران می توانند نتایج آماده شده را ارزیابی، اصلاح و تولید کنند. متغیر “AWK NF” برای نشان دادن تعداد فایل ها، عناصر یا موارد دیگر در یک خط از هر فایل استفاده می شود.

کار AWK NF

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

اکنون، ما فقط از یک مثال ساده استفاده می‌کنیم تا نشان دهیم وقتی «who» را در اوبونتو 20.04 تایپ می‌کنیم چه اتفاقی می‌افتد. terminal. این دستور اطلاعاتی در مورد کاربر و همچنین زمان و تاریخ فعلی نمایش می دهد.

Linux@linux:~$ who

این دستور را با کلیک روی enter اجرا می کنیم روی صفحه‌کلیدی که تاریخ و زمان را به ترتیب به‌عنوان «2022-12-08» و «15:06» چاپ می‌کند، قبل از انتشار مقداری فضای خالی و نام کاربر به‌عنوان «لینوکس».

AWK NF چیست؟AWK NF چیست؟

به‌طور پیش‌فرض، «AWK» یک فیلد را به‌عنوان رشته‌ای از کاراکترها تفسیر می‌کند که در ابتدا و انتهای یک خط در فضای خالی قرار دارند. در اینجا، روش نوشتن دستور با استفاده از پارامترهای “AWK” و “who” برای بازیابی اولین فیلد با استفاده از علامت دلار و عدد 1 ($1) را نشان می‌دهیم. اگر می‌خواهیم اولین فیلد را از یک فایل متنی یا داده‌های دیگر بازیابی کنیم، از علامت دلار «1$» با یکی استفاده می‌کنیم. برای این کار از دستوری استفاده می کنیم که در آن ابتدا “who” را می نویسیم. سپس از این “|” استفاده می کنیم بار. سپس با فشردن کلید فاصله فاصله می گذاریم روی صفحه کلید. سپس “awk” را می نویسیم. سپس از یک کاما معکوس و به دنبال آن براکت های فرفری استفاده می کنیم. در نهایت از کلمه print و علامت $1 در داخل این براکت ها استفاده می کنیم.

Linux@linux:~$ who | awk “{print $1}”

همانطور که در تصویر خروجی قبلی مشاهده می کنید، زمانی که ما فقط از “who” در قسمت استفاده می کنیم terminal و این را اجرا کنید، نام کاربری را به همراه اطلاعات لازم که شامل تاریخ و ساعت است نمایش می دهد. با این حال، از آنجایی که ما از «print $1» با «AWK» در دستور قبلی استفاده می‌کنیم، فقط فیلد اول را چاپ می‌کند زیرا «$1» برای چاپ اولین فیلد فایل در میان موارد دیگر استفاده می‌شود.

AWK NF چیست؟AWK NF چیست؟

ایجاد یک فایل متنی روی دسکتاپ با استفاده از ترمینال و چاپ تمام محتوای آن با “AWK”

از آنجایی که “AWK” برای چاپ کل محتویات یک فایل استفاده می شود روی را terminal، در مرحله اول یک فایل متنی ایجاد می کنیم و اطلاعات فایل را چاپ می کنیم روی را terminal. در اینجا یک فایل متنی ایجاد می کنیم روی دسکتاپ با استفاده از terminal. برای این کار، دستوری را می نویسیم که در آن “nano” را به عنوان ویرایشگر متن می نویسیم. سپس از علامت (~) و به دنبال آن علامت “/” استفاده می کنیم. سپس، “دسکتاپ” را می نویسیم زیرا یک فایل ایجاد می کنیم روی دسکتاپ و به دنبال آن علامت اسلش “/” قرار می گیرد. دوباره نام فایلی را که می خواهیم بسازیم می نویسیم. در نهایت فایلی به نام “textfile” با پسوند “.txt” ایجاد می کنیم زیرا یک فایل متنی است.

Linux@linux:~$ nano ~/Desktop/textfile.txt

بنابراین، الف terminal همانطور که در تصویر زیر نشان داده شده است، هنگامی که این دستور را وارد می کنیم، یک صفحه خالی برای ما نمایش می دهد:

پیشنهاد می‌کنیم بخوانید:  روش نصب آخرین ImageMagick روی اوبونتو 20.04؟

AWK NF چیست؟AWK NF چیست؟

ما داده ها را با تایپ کردن در آن وارد می کنیم terminal که می خواهیم در فایل متنی ذخیره کنیم. برای این کار پنج خط ایجاد می کنیم. که اولین مورد حاوی کلمه “سلام” است. دومی حاوی “هی” است. سوم شامل “سلام” است. چهارمی شامل دو عنصر «خداحافظ» و «123» است. و خط پنجم مانند تصویر زیر خالی است:

AWK NF چیست؟AWK NF چیست؟

هنگامی که پس از وارد کردن داده ها در فایل textfile.txt “Ctrl-x” را فشار می دهیم، گزینه “بله” یا “خیر” ظاهر می شود. روی صفحه نمایش می دانیم که می خواهیم فایل را ذخیره کنیم. بنابراین، Ctrl-y را فشار می دهیم تا فایل ذخیره شود و فایل با موفقیت ایجاد می شود.

AWK NF چیست؟AWK NF چیست؟

تصویر زیر فایل نشان داده شده را نشان می دهد:

AWK NF چیست؟AWK NF چیست؟

همانطور که می دانیم فایل ذخیره شده است روی دسکتاپ ابتدا باید با استفاده از دستور cd Desktop/ یک دایرکتوری به دسکتاپ اضافه کنیم و سپس کلید enter را فشار دهیم.

Linux@linux: ~$ سی دی دسکتاپ/

اکنون از تابع “AWK” برای بازیابی محتویات فایل جدید ایجاد شده “textfile.txt” و نمایش آنها استفاده می کنیم. روی صفحه نمایش برای این کار از دستوری استفاده می کنیم که در آن ابتدا awk می نویسیم. سپس از کاماهای معکوس داخل این استفاده می کنیم. براکت های فرفری را می گذاریم و می نویسیم “print $0”. پس از آن از یک فاصله استفاده می کنیم. در نهایت، نام فایل را می نویسیم، “textfile.txt”.

Linux@linux:~/Desktop$ awk ‘{print $0}’ textfile.txt

حال وقتی این دستور را اجرا می کنیم، محتویات فایل متنی همانطور که در تصویر زیر مشاهده می کنید نشان داده می شود. در خط اول این فایل کلمه سلام و به دنبال آن هی می باشد. کلمه “سلام” ظاهر می شود روی خط سوم دو مورد ذکر شده است روی خط چهارم و خط پنجم خالی است.

AWK NF چیست؟AWK NF چیست؟

نمایش محتوای فایل با شماره خطوط

با استفاده از متغیر “NR” در دستور، محتویات فایل را همراه با شماره خط در قسمت بعدی چاپ می کنیم. برای این کار از دستوری استفاده می کنیم که در آن ابتدا awk می نویسیم. سپس بعد از فاصله، از کاما معکوس استفاده می کنیم. داخل آن براکت های فرفری را قرار می دهیم. سپس، چاپ را می نویسیم. در نهایت “NR” را می نویسیم. پس از آن، ما یک کاما قرار داده و می نویسیم “$0”. سپس از براکت و کاما معکوس خارج می شویم. در نهایت، نام فایل را می نویسیم، “textfile.txt”.

Linux@linux:~/Desktop$ awk ‘{print NR, $0}’ textfile.txt

همانطور که در نتیجه مشاهده می کنید، محتوای فایل با شماره خطوط نمایش داده می شود که نشان می دهد حاوی “5” خط است.

پیشنهاد می‌کنیم بخوانید:  روش نصب PHP 8.0 در اوبونتو 20.04 (LTS) و 20.10

AWK NF چیست؟AWK NF چیست؟

نمایش مقدار کلی داده در هر خط با استفاده از NF

در این بخش، تعداد کل عناصر در هر خط را نشان خواهیم داد. برای این کار از دستوری استفاده می کنیم که در آن ابتدا “awk” می نویسیم و سپس همان مراحل دستور قبلی را انجام می دهیم، اما بعد از نوشتن پارامتر “print” از متغیر “NF” استفاده می کنیم. بعد، براکت های فرفری و کاماهای معکوس را می بندیم. سپس نام فایل “textfile.txt” را می نویسیم.

Linux@linux:~/Desktop$ awk ‘{print NF}’ textfile.txt

تعداد موارد موجود در فایل اکنون در خروجی نشان داده شده است. سه خط اول شامل عناصر “1” است. خط چهارم شامل عناصر “2” است. و خط آخر در فایل خالی است. بنابراین، “0” را نشان می دهد.

AWK NF چیست؟AWK NF چیست؟

حذف خطوط خالی

در این قسمت خط خالی را از فایل حذف می کنیم. برای این کار از دستوری استفاده می کنیم که در آن ابتدا از “awk” استفاده می کنیم. سپس از “NF>0” استفاده می کنیم که شرطی است که می گوید اگر تعداد عناصر بیشتر از “0” باشد خط را چاپ کنید. در غیر این صورت، خط آن را نشان نمی دهد. سپس از همان روشی که در قسمت قبل انجام دادیم استفاده می کنیم.

Linux@linux:~/Desktop$ awk ‘NF>0 {print $0}’ textfile.txt

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

AWK NF چیست؟AWK NF چیست؟

نتیجه

در این مقاله، ما در مورد روش استفاده از تابع “AWK NF” در اوبونتو 20.04 برای چاپ داده ها یا اطلاعات فایل های متنی صحبت کردیم. در مرحله اول، روش عملکرد عملکرد “AWK” را نشان دادیم. در مرحله دوم یک فایل متنی ایجاد کردیم روی دسکتاپ و از پارامترهای مختلف تابع “AWK” مانند “NR” برای چاپ خطوط فایل با اعداد استفاده کرد. در مرحله بعد، از “NF” برای شمارش تعداد عناصر موجود در هر خط از فایل استفاده کردیم. در مرحله آخر با اعمال یک شرط با استفاده از “NF” خط خالی را از فایل حذف کردیم.

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

زمان انتشار: 1402-12-29 14:32:03

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

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

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