تاریخ انتشار: دوشنبه 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