از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
فرماندهی بش یونیک
سرفصلهای مطلب
کاربران لینوکس برای اهداف زیادی نیاز به ایجاد یا خواندن فایل متنی به طور منظم دارند. یک فایل متنی می تواند حاوی انواع مختلفی از داده های عددی و کاراکتری باشد. همان داده ها را می توان چندین بار در یک فایل متنی ذخیره کرد. گاهی اوقات، ممکن است نیاز به خواندن هر فایل متنی با حذف خطوط تکراری داده داشته باشید. ضربه شدید uniq command یک ابزار مفید خط فرمان است که برای خواندن یک فایل متنی با فیلتر کردن یا حذف خطوط تکراری مجاور از فایل متنی استفاده می شود. uniq دستور برای شناسایی خطوط مجاور یک فایل و نوشتن محتوای فایل با فیلتر کردن مقادیر تکراری یا نوشتن فقط خطوط تکراری در یک فایل دیگر استفاده می شود.
نحو:
در اینجا OPTION، INPUT و OUTPUT اختیاری هستند. اگر فقط استفاده کنید uniq دستور بدون هیچ گزینه یا نام فایل ورودی/خروجی، سپس این دستور اعمال خواهد شد روی داده های ورودی استاندارد انواع مختلفی از گزینه ها را می توان با این دستور برای فیلتر کردن داده های تکراری به روش های مختلف از هر فایل متنی استفاده کرد. اگر از نام فایل ورودی با این دستور استفاده کنید، داده ها از آن فایل فیلتر می شوند. اگر دستور را با گزینه، نام فایل ورودی و نام فایل خروجی اجرا کنید، داده ها از فایل ورودی فیلتر می شوند. روی گزینه را انتخاب کرده و خروجی را در فایل خروجی بنویسید.
گزینه ها:
برخی از گزینه های اصلی دستور 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 فایل.
مثال شماره 2: استفاده از گزینه -s
دستور زیر اعمال خواهد شد uniq با پرش 4 کاراکتر از هر خط فرمان دهید uniq_test.txt فایل.
مثال شماره 3: استفاده از گزینه –w
دستور زیر اعمال خواهد شد uniq با مقایسه دو کاراکتر اول هر خط فرمان دهید.
مثال شماره 4: استفاده از گزینه –c
دستور زیر ظاهر هر خط در فایل را می شمارد و عدد را در جلوی هر خط خروجی نمایش می دهد.
مثال شماره 5: استفاده از گزینه –d
دستور زیر فقط خطوطی را از فایل نمایش می دهد که چندین بار در فایل ظاهر شده اند. فقط یک خط دو بار در فایل uniq_test.txt ظاهر شده است که به عنوان خروجی نمایش داده می شود.
مثال شماره 6: استفاده از گزینه –D
دستور زیر خواهد بود print تمام خطوط تکراری از فایل
مثال شماره 7: استفاده از گزینه –all-repeated با متد prepend
سه روش را می توان با استفاده از -همه تکرار شده گزینه ای که قبلا در این آموزش ذکر شد. در اینجا از روش prepend با این گزینه استفاده می شود که خطوط تکراری را با اضافه کردن خطوط خالی در ابتدای خطوط تکراری چاپ می کند.
مثال 8: استفاده از گزینه –u
دستور زیر تمام خطوط منحصر به فرد فایل را پیدا می کند. سه خط منحصر به فرد در فایل uniq_test.txt وجود دارد که به عنوان خروجی چاپ می شوند.
نتیجه
کاربردهای دستور uniq با استفاده از مثال های مختلف در این آموزش توضیح داده شده و نشان داده شده است. امیدوارم پس از مطالعه این آموزش بتوانید از دستور uniq به درستی استفاده کنید.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-31 23:15:04