از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
دستور برش Bash با مثال
سرفصلهای مطلب
لینوکس دستورات و ابزارهای زیادی را در اختیار ما قرار می دهد که به ما امکان می دهد قطعات و بخش هایی از فایل های خاص را برش دهیم و process و آن فایل ها را فیلتر کنید. «cut» همچنین یک ابزار خط فرمان در لینوکس است که به ما امکان میدهد بخشها و بخشهای خاصی از فایلها را برش دهیم و با چاپ کردن آن، دادهها را به عنوان خروجی استاندارد به ما نشان دهیم. میتوانیم از آن برای برش قسمتهای فایلها با جداکننده، فیلد، بایت، موقعیت و کاراکتر استفاده کنیم.
کات یک خط را می شکند و متن را در آن بیرون می آورد. ارائه گزینه ها هنگام نوشتن دستور الزامی است. در غیر این صورت خطا خواهد کرد. اگر عمل کنیم روی چندین فایل با ارائه بیش از یک نام فایل، پس از داده های هر دو فایل، نام آن قبل از آن نخواهد بود. این دستور با لیستی از گزینه ها همراه است که به شرح زیر است:
-f (–fields= LIST): با استفاده از یک فیلد مشخص شده توسط کاربر انتخاب می کند.
-b(–byte= LIST): با استفاده از بایت مشخص شده توسط کاربر انتخاب می کند.
-c(–character= LIST): با استفاده از یک کاراکتر مشخص شده توسط کاربر انتخاب می کند.
-d(– جداکننده): از یک جداکننده پیشفرض TAB استفاده میکند، اما اگر با استفاده از گزینه، جداکننده را مشخص کنیم، از جداکننده مشخص شده استفاده میکند.
-متمم: به دستور «cut» دستور می دهد تا همه کاراکترها، بایت ها یا فیلدها را به جای قسمت انتخاب شده اجرا کند.
-s(–only-limited): به طور پیش فرض، خطوطی که حاوی جداکننده هستند چاپ نمی شوند. مشخص کردن –s به همراه دستور cut به آن دستور می دهد که خطوطی را که هیچ جداکننده ای ندارند چاپ نکند.
– خروجی – جداکننده: It برای استفاده از رشته به عنوان خروجی مشخص شده است. به طور پیش فرض، رشته به عنوان ورودی عمل می کند.
-کمک: برای مشاهده راهنمای راهنما استفاده می شود.
– نسخه: برای تایید نسخه استفاده می شود.
اینها گزینه هایی هستند که قبلاً در بالا بحث کردیم.
اگر بخواهیم از یک فایل خاص برش دهیم، باید نام فایل را در انتهای دستور خود مشخص کنیم. بسته به بایت می توانیم تک یا چند بایت را برش دهیم روی نیازهای ما
نحو:
نحو استفاده از دستور cut در زیر نشان داده شده است که در آن هر گزینه می تواند هر پرچمی باشد که برای انجام عملیات اضافی استفاده می شود. روی محتوایی که قرار است از فایل بریده شود. ما می توانیم از چندین گزینه در یک زمان استفاده کنیم. [File] پارامتر نام فایلی را می گیرد که می خواهیم از آن استخراج کنیم. اگر نام فایل را برای دستور “cut” خود تعیین نکنیم، از ورودی استاندارد خوانده می شود و مطابق آن شروع به کار می کند. در این صورت، این دستور “pipeline” را فیلتر می کند.
مثال شماره 1:
در این مثال از دستور cut استفاده می کنیم تا درک بهتری از روش عملکرد دستور cut داشته باشیم. اجازه دهید ابتدا نسخه برش را که در حال حاضر داریم بررسی کنیم. برای این کار دستور زیر را اجرا می کنیم.
برای تایید نسخه برش، به سادگی دستور cut را به همراه پرچم “نسخه” که در بالا مطالعه کردیم اجرا می کنیم. همانطور که در قطعه نشان داده شده است، در مورد ما نسخه 8.30 است.
فرض کنید فایلی در فهرست اصلی خود داریم که داده های پنج دانش آموز را به همراه “نام”، “نمرات” و “نمره” آنها ذخیره می کند.
با چاپ چند بایت از FileNow، اقداماتی را انجام خواهیم داد روی این فایل با استفاده از دستور cut. برای چاپ بایت های فایل به سادگی دستوری که در زیر نمایش داده می شود را اجرا می کنیم.
هنگامی که ما سعی می کنیم دستور بالا را اجرا کنیم، خروجی را همانطور که در زیر مشاهده می کنید نشان می دهد که در آن تعداد بایت هایی که از 1 تا 6 شروع می شود، نام دانش آموزان است.
چاپ محدوده بایت
مانند بالا، ما همچنین می توانیم محدوده های متعدد بایت را چاپ کنیم. فرض کنید می خواهیم نام را همراه با علائم دانش آموزان چاپ کنیم. برای آن، از 1 تا 6 و سپس از 14 تا 24 متغیر خواهیم بود.
پس از اجرای دستور بالا، خروجی نمایش داده شده در زیر را دریافت می کنیم که در آن نام و نمره کل دانش آموزان نمایش داده می شود.
نمایش محتوا از نقطه شروع یا پایان
برای چاپ محتوا از نقطه شروع مشخص شده، به سادگی یک دستور را اجرا می کنیم که در زیر ذکر شده است. فرض کنید می خواهیم کاراکتر را از نمایه “6” چاپ کنیم.
همانطور که در زیر نشان داده شده است، کاراکترهای شاخص 7 تا آخرین نمایه در ما نمایش داده شده است terminal. این شامل نمرات و نمرات دانش آموزان بود.
مانند بالا، میتوانیم دستور cut را دستور دهیم که محتوا را در فهرست محدود چاپ کند. برای آن دستوری را که در خط بعدی ذکر شده اجرا می کنیم.
هنگامی که این دستور را اجرا می کنیم، محتوا را از ابتدای شاخص “1” تا رسیدن به شاخص “13” دریافت می کنیم. همانطور که در زیر نشان داده شده است، در خروجی، نام و نمرات فقط در جایی نمایش داده می شود که نمرات دانش آموزان حذف شود.
استفاده از دستور Cut توسط فیلدها
اکنون، فایل دیگری را امتحان می کنیم تا با استفاده از فیلدها، محتوا را برش دهیم. برای آن، ما از فایل “/etc/passwd” استفاده خواهیم کرد. اجازه دهید جزئیات کاربر مجاز به دسترسی به این سیستم را بررسی کنیم، برای این کار دستور cat را به همراه نام فایل همانطور که در زیر لیست شده است اجرا می کنیم.
در زیر مشخصات کاربرانی که اجازه دسترسی به سیستم را دارند آورده شده است.
در حال حاضر، شامل تمام جزئیات کاربران است. اما ما فقط نام کاربران را می خواهیم، برای آن دستور زیر را اجرا می کنیم.
پس از اجرای دستور بالا که در آن دستور cut را مشخص کردیم تا با استفاده از جداکننده “:”، اولین فیلد فایل را چاپ کند.
نتیجه
امروز شما را با دستور “cut” لینوکس آشنا کردیم که برای برش بخشی از قسمت مشخص شده از هر فایل استفاده می شود. پس از ارائه نمای کلی، نحو را توضیح دادیم و برخی از عملیات برش بخشها از فایلها را انجام دادیم تا درک مفهوم دستور cut را برای شما آسان کنیم.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 12:31:03