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

سرور مجازی NVMe

فرماندهی بش یونیک

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


کاربران لینوکس برای اهداف زیادی نیاز به ایجاد یا خواندن فایل متنی به طور منظم دارند. یک فایل متنی می تواند حاوی انواع مختلفی از داده های عددی و کاراکتری باشد. همان داده ها را می توان چندین بار در یک فایل متنی ذخیره کرد. گاهی اوقات، ممکن است نیاز به خواندن هر فایل متنی با حذف خطوط تکراری داده داشته باشید. ضربه شدید uniq command یک ابزار مفید خط فرمان است که برای خواندن یک فایل متنی با فیلتر کردن یا حذف خطوط تکراری مجاور از فایل متنی استفاده می شود. uniq دستور برای شناسایی خطوط مجاور یک فایل و نوشتن محتوای فایل با فیلتر کردن مقادیر تکراری یا نوشتن فقط خطوط تکراری در یک فایل دیگر استفاده می شود.

نحو:

uniq [OPTION] [ INPUT  [OUTPUT] ]

در اینجا OPTION، INPUT و OUTPUT اختیاری هستند. اگر فقط استفاده کنید uniq دستور بدون هیچ گزینه یا نام فایل ورودی/خروجی، سپس این دستور اعمال خواهد شد روی داده های ورودی استاندارد انواع مختلفی از گزینه ها را می توان با این دستور برای فیلتر کردن داده های تکراری به روش های مختلف از هر فایل متنی استفاده کرد. اگر از نام فایل ورودی با این دستور استفاده کنید، داده ها از آن فایل فیلتر می شوند. اگر دستور را با گزینه، نام فایل ورودی و نام فایل خروجی اجرا کنید، داده ها از فایل ورودی فیلتر می شوند. روی گزینه را انتخاب کرده و خروجی را در فایل خروجی بنویسید.

پیشنهاد می‌کنیم بخوانید:  روش پیاده سازی حلقه ها در Bash

گزینه ها:

برخی از گزینه های اصلی دستور uniq در زیر مورد بحث قرار می گیرند.

  • -f N یا –skip-fields=N

برای رد شدن از N فیلد قبل از تشخیص منحصر به فرد بودن داده ها استفاده می شود. فیلدها گروهی از کاراکترها هستند که با فضای خالی یا برگه از هم جدا شده اند.

  • -s N یا –skip-chars=N

برای رد کردن N کاراکتر قبل از تشخیص منحصر به فرد بودن داده ها استفاده می شود.

  • -w N یا –check-chars=N

برای مقایسه N کاراکتر فقط در یک خط استفاده می شود.

  • -c یا –count

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

  • -z یا -صفر خاتمه یافته است

برای پایان دادن به خط با 0 بایت به جای استفاده از خط جدید استفاده می شود.

  • -d یا -تکرار شد

عادت دارد print فقط تمام خطوط تکراری

  • -D یا -همه تکرار شده[=METHOD]

عادت دارد print همه خطوط تکراری بر اساس روی روش مورد استفاده با این گزینه می توان از روش های زیر استفاده کرد.

none: این روش پیش فرض است و خطوط تکراری را محدود نمی کند.
prepend: قبل از هر مجموعه از خطوط تکراری یک خط خالی اضافه می کند.
جداگانه: یک خط خالی بین دو خط تکراری اضافه می کند.

  • -u یا –unique

عادت دارد print فقط خطوط منحصر به فرد

  • -i یا –ignore-case

برای مقایسه با حروف بزرگ و کوچک استفاده می شود.

نمونه هایی از دستور یونیک

یک فایل متنی با نام ایجاد کنید uniq_test.txt با محتوای زیر:

برنامه نویسی Bash
برنامه نویسی Bash
برنامه نویسی پایتون
من برنامه نویسی PHP را دوست دارم
من برنامه نویسی جاوا را دوست دارم

مثال شماره 1: استفاده از گزینه -f

دستور زیر اعمال خواهد شد uniq با پرش دو فیلد اول هر خط از uniq_test.txt فایل.

$ uniq 2 uniq_test.txt

فرماندهی بش یونیک

مثال شماره 2: استفاده از گزینه -s

دستور زیر اعمال خواهد شد uniq با پرش 4 کاراکتر از هر خط فرمان دهید uniq_test.txt فایل.

$ uniq -s 4 uniq_test.txt

فرماندهی بش یونیکفرماندهی بش یونیک

مثال شماره 3: استفاده از گزینه –w

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

$ uniq -w 2 uniq_test.txt

فرماندهی بش یونیکفرماندهی بش یونیک

مثال شماره 4: استفاده از گزینه –c

دستور زیر ظاهر هر خط در فایل را می شمارد و عدد را در جلوی هر خط خروجی نمایش می دهد.

$ uniq uniq_test.txt

فرماندهی بش یونیکفرماندهی بش یونیک

مثال شماره 5: استفاده از گزینه –d

دستور زیر فقط خطوطی را از فایل نمایش می دهد که چندین بار در فایل ظاهر شده اند. فقط یک خط دو بار در فایل uniq_test.txt ظاهر شده است که به عنوان خروجی نمایش داده می شود.

$ uniq uniq_test.txt

فرماندهی بش یونیکفرماندهی بش یونیک

مثال شماره 6: استفاده از گزینه –D

دستور زیر خواهد بود print تمام خطوط تکراری از فایل

$ uniq -دی uniq_test.txt

فرماندهی بش یونیکفرماندهی بش یونیک

مثال شماره 7: استفاده از گزینه –all-repeated با متد prepend

سه روش را می توان با استفاده از -همه تکرار شده گزینه ای که قبلا در این آموزش ذکر شد. در اینجا از روش prepend با این گزینه استفاده می شود که خطوط تکراری را با اضافه کردن خطوط خالی در ابتدای خطوط تکراری چاپ می کند.

$ uniq –همه تکرار شده=prepend uniq_test.txt

فرماندهی بش یونیکفرماندهی بش یونیک

مثال 8: استفاده از گزینه –u

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

$ uniq -u uniq_test.txt

فرماندهی بش یونیکفرماندهی بش یونیک

نتیجه

کاربردهای دستور uniq با استفاده از مثال های مختلف در این آموزش توضیح داده شده و نشان داده شده است. امیدوارم پس از مطالعه این آموزش بتوانید از دستور uniq به درستی استفاده کنید.

پیشنهاد می‌کنیم بخوانید:  روش رفع خطای نحو Bash – پایان غیرمنتظره فایل

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

زمان انتشار: 1402-12-31 23:15:04

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

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

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