تاریخ انتشار: دوشنبه 1397/05/22 - 18:42
کد خبر: 277708

فرمان cut در لینوکس چیست و چه کاربردی دارد

لینوکس و سایر سیستم عامل های مبتنی بر یونیکس ابزار زیادی برای پردازش متن در خط فرمان دارند. بدون این ابزار ما مجبور خواهیم بود خروجی یک فرمان را یادداشت کرده و آن را در فرمان بعدی تایپ کنیم. فرمان cut یکی از آنها است که به ما امکان می‌دهد بخش هایی از متن درون یک فایل که به آن نیاز داریم را جدا کنیم.

به گزارش «خبرنامه دانشجویان ایران»؛ فرمان cut که بخشی از رعایت الزامات POSIX نیز محسوب می‌شود، در چند مورد استفاده مختلف بسیار مفید است. اگر چه این فرمان به قدرتمندی سایر فرمان‎ها نیست، اما به نوبه خود بسیار کاربردی است. همان‎گونه که از نام آن مشخص است از فرمان cut برای بریدن بخشی از یک متن استفاده می‌شود. بیشترین مورد استفاده این فرمان برای بریدن اطلاعات از جداول متنی مثل یک فایل CSV یا خروجی ps است.

چگونه از فرمان cut در لینوکس استفاده کنیم؟
ساختار کلی فرمان cut به این شکل است:

cut OPTION... [FILE]...

اگر چه چنین ساختاری کمک چندانی به درک آن نمی‌کند، اما ما در ادامه به چند گزینه از آن که بیشترین مورد استفاده را دارد خواهیم پرداخت.

ابتدا ما نگاهی به استخراج متن از یک جدول با استفاده از تب‎های بین ستون‎ها خواهیم داشت.

cut -f 1,5 -d ':'/etc/passwd

این فرمان ستون‎های یک و پنج، فیلدهای user ID و توصیف کاربر را از فایل /etc/passwd استخراج خواهد کرد. در اینجا ما از سویچ –f برای مشخص کردن فیلدهای مورد نظر خود استفاده کرده‎ایم. این گزینه از کاراکتر جداکننده ویرگول برای مقادیر به شکل x-y استفاده می‌کند. در اینجا x نشانگر حد پایین و y نشانگر حد بالا است.

علاوه بر این، شما می‌توانید گزینه‎های دیگری را نیز به این فرمان اضافه کنید. گزینه –d برای مشخص کردن حائل، یا جداکننده مقادیر به کار می‌رود. فایل‎های مختلف از مقادیر مختلف برای این جداسازی استفاده می‌کنند. فایل /etc/passwd از دو نقطه (:) استفاده می‌کند، اما فایل csv از ویرگول (,) استفاده می‌کند. بنابراین بسیار مفید خواهد بود که بتوانید یک جداکننده دیگر، غیر از جداکننده تب پیش فرض را انتخاب کنید.

cut -f 1-3,7 -d ':'/etc/passwd

فرمان بالا مشخص می‌کند که فیلدهای یک تا 3 و همین‎طور فیلد هفتم در نظر گرفته شود.

توجه داشته باشید که خروجی بعضی از برنامه‎ها همیشه هم متحد الشکل نبوده و بعضی اوقات با فیلدهای خالی همراه است که باعث می‌شود فرمان cut برخلاف انتظار رفتار کند. یک مثال در این زمینه استفاده از کاراکتر اسپیس به جای تب برای ایجاد فاصله است. چنین اتفاقی غیر معمول نیست. بعضی اوقات شما می‌توانید از طریق tr قبل از cut این موضوع را برطرف کنید.

tr -s ''''

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

بعضی اوقات لازم می‌شود که جداکننده استفاده شده در فایل ورودی را تغییر دهید. برای این کار می‌توانید از گزینه --output-delimiter استفاده کنید.

cut -f 1,5 -d ':' --output-delimiter=$' ' /etc/passwd

در اینجا ما تب را به عنوان جداکننده تعیین کرده‎ایم. از آنجا که ما نمی‌توانیم به سادگی یک کاراکتر تب را منتقل کنیم (فشردن کلید تب معمولا به bash می‌گوید تا نقش تکمیل خودکار را ایفا کند)، ما از $’ ’  برای انتقال کاراکتر تب استفاده می‌کنیم.

اینها اصول پایه استفاده از فرمان cut هستند. اما قابلیت‎های دیگری نیز در این فرمان نهفته است که می‌توانید با مراجعه به راهنمای آن از آنها نیز استفاده کنید.

منبع: fossbytes

مرتبط ها
نظرات
حداکثر تعداد کاراکتر نظر 200 ميياشد
نظراتی که حاوی توهین یا افترا به اشخاص، قومیت‌ها، عقاید دیگران باشد و یا با قوانین جمهوری اسلامی ایران و آموزه‌های دینی مغایرت داشته باشد منتشر نخواهد شد - لطفاً نظرات خود را با حروف فارسی تایپ کنید
تورهای مسافرتی آفری
تیک تاک کسب و کارش را در آمریکا تعطیل می‌کند
عضو کارگزاران: ثابت شد اسرائیل پوشالی‌ترین رژیم منطقه است
نگاهی به طرح کنترل اجاره بهای املاک مسکونی
سرکوب اعتراضات در حمایت از فلسطین در آمریکا
تپانچه بادی ایران نایب قهرمان شد
نگارش پایان نامه: راهنمای گام به گام
با این پنج نکته، بهترین غرفه نمایشگاه امسال مال شماست
انواع موتور گیرلس
افزایش تعداد داوطلبان پنجاه و یکمین دوره آزمون دستیاری پزشکی
تمرین پدر و دختری دروازه بان استقلال +عکس
کارگری که در روز کارگر به آرزویش رسید +فیلم
اعتراض دانشجویان آمریکایی به جنایات در غزه +عکس
چرا دندانپزشکی در بارداری خطرناک است؟
تحصن در ۴۰ دانشگاه آمریکا و کانادا برای غزه
مصدومیت شدید سعید آقاخانی در نون خ ۵ +عکس
افتتاح یک بزرگراه جدید در تهران تا پایان امسال
معلم فداکاری که کلاس درس را به منزل دانش آموز بیمار برد +عکس
لحظه بازداشت خشونت‌آمیز استاد اقتصاد دانشگاه اموری در آمریکا +فیلم
دیپلمات آمریکایی در اعتراض به سیاست بایدن در غزه استعفا کرد
ایران شبکه‌ای باورنکردنی برای دور زدن تحریم‌ها ایجاد کرده است
آخرین وضعیت رفع فیلتر گوگل پلی
نظرسنجی
بنظر شما باتوجه به حوادث اخیر فلسطین چقدر احتمال فروپاشی رژیم صهیونیستی وجود دارد؟




مشاهده نتایج
go to top